<html>
<head><meta charset="utf-8"><title>issue-46908-borrowck=migrate · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html">issue-46908-borrowck=migrate</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="129047761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129047761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129047761">(Jul 03 2018 at 21:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> just opening a thread to chat about that issue =)</p>



<a name="129088783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129088783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129088783">(Jul 04 2018 at 14:40)</a>:</h4>
<p><code>In particular, there is some code that is accepted today under AST borrowck that NLL rejects. So we need a migration path.</code></p>



<a name="129088789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129088789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129088789">(Jul 04 2018 at 14:40)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> remember me what that code is</p>



<a name="129088793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129088793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129088793">(Jul 04 2018 at 14:40)</a>:</h4>
<p>:)</p>



<a name="129090293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129090293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129090293">(Jul 04 2018 at 15:09)</a>:</h4>
<p>just look for NLL-fixed-by-NLL tag</p>



<a name="129090296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129090296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129090296">(Jul 04 2018 at 15:09)</a>:</h4>
<p>plenty of bugs fixed by NLL: <a href="https://github.com/rust-lang/rust/labels/NLL-fixed-by-NLL" target="_blank" title="https://github.com/rust-lang/rust/labels/NLL-fixed-by-NLL">https://github.com/rust-lang/rust/labels/NLL-fixed-by-NLL</a></p>



<a name="129090337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129090337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129090337">(Jul 04 2018 at 15:10)</a>:</h4>
<p>all of that is code that is accepted under the AST borrow check</p>



<a name="129090343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129090343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129090343">(Jul 04 2018 at 15:10)</a>:</h4>
<p>but should not have been</p>



<a name="129093424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093424">(Jul 04 2018 at 16:17)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> back, I always thought that that was not going to happen</p>



<a name="129093466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093466">(Jul 04 2018 at 16:18)</a>:</h4>
<p>and also having open issues about that confuses me</p>



<a name="129093482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093482">(Jul 04 2018 at 16:18)</a>:</h4>
<p>you mean that the code that is accepted in AST borrowck but NLL rejects are issues to be fixed? or is there really code that is accepted under AST borrowck and not by NLL?</p>



<a name="129093496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093496">(Jul 04 2018 at 16:19)</a>:</h4>
<p>haven't gone through the issues, checking ...</p>



<a name="129093602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093602">(Jul 04 2018 at 16:20)</a>:</h4>
<p>ahhh I see you meant that is code wrongly accepted by AST borrowck and should not</p>



<a name="129093616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093616">(Jul 04 2018 at 16:21)</a>:</h4>
<p>if it's that I'm fine :)</p>



<a name="129093636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129093636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129093636">(Jul 04 2018 at 16:21)</a>:</h4>
<p>reading <span class="user-mention" data-user-id="116083">@pnkfelix</span> phrase confused me, I thought there was code that worked on AST and not on NLL</p>



<a name="129095292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129095292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129095292">(Jul 04 2018 at 17:02)</a>:</h4>
<blockquote>
<p>if it's that I'm fine :)</p>
</blockquote>
<p>correct</p>



<a name="129097175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097175">(Jul 04 2018 at 17:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I think the link at the end of <a href="https://github.com/rust-lang/rust/issues/46908" target="_blank" title="https://github.com/rust-lang/rust/issues/46908">https://github.com/rust-lang/rust/issues/46908</a> is now incorrect</p>



<a name="129097186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097186">(Jul 04 2018 at 17:53)</a>:</h4>
<p>ahh no, seems fine</p>



<a name="129097405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097405">(Jul 04 2018 at 17:58)</a>:</h4>
<p>so checking just in case, if mir doesn't report any error the code should be allowed, right?</p>



<a name="129097415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097415">(Jul 04 2018 at 17:59)</a>:</h4>
<p>yes</p>



<a name="129097417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097417">(Jul 04 2018 at 17:59)</a>:</h4>
<p>the presumption is that MIR borrowck is strictly more correct :)</p>



<a name="129097418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097418">(Jul 04 2018 at 17:59)</a>:</h4>
<p>if MIR has errors and AST too -&gt; report MIR errors</p>



<a name="129097419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097419">(Jul 04 2018 at 17:59)</a>:</h4>
<p>yes</p>



<a name="129097483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097483">(Jul 04 2018 at 18:00)</a>:</h4>
<p>and if MIR has errors but AST don't -&gt; allow code and report a warning</p>



<a name="129097489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097489">(Jul 04 2018 at 18:00)</a>:</h4>
<p>ok, checking just in case :)</p>



<a name="129097558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129097558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129097558">(Jul 04 2018 at 18:02)</a>:</h4>
<p>yes</p>



<a name="129101947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129101947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129101947">(Jul 04 2018 at 19:57)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> back to this thing :)</p>



<a name="129101948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129101948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129101948">(Jul 04 2018 at 19:57)</a>:</h4>
<p><code>Presently, we are actually always executing AST borrowck, as well, which will need to be tweaked:</code></p>



<a name="129101953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129101953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129101953">(Jul 04 2018 at 19:57)</a>:</h4>
<p>you want to execute mir borrowck and if no errors avoid ast borrowck?</p>



<a name="129101958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129101958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129101958">(Jul 04 2018 at 19:58)</a>:</h4>
<p>from that phrase seems that</p>



<a name="129102003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102003">(Jul 04 2018 at 19:58)</a>:</h4>
<p>and I guess it makes sense</p>



<a name="129102020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102020">(Jul 04 2018 at 19:59)</a>:</h4>
<p>the issue doesn't state clearly that, so checking just in case</p>



<a name="129102023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102023">(Jul 04 2018 at 19:59)</a>:</h4>
<p>but I guess it makes sense</p>



<a name="129102327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102327">(Jul 04 2018 at 20:06)</a>:</h4>
<p>yes</p>



<a name="129102335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102335">(Jul 04 2018 at 20:07)</a>:</h4>
<p>I'd prefer not to run AST borrowck if we don't have to :)</p>



<a name="129102336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102336">(Jul 04 2018 at 20:07)</a>:</h4>
<p>ok</p>



<a name="129102341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102341">(Jul 04 2018 at 20:07)</a>:</h4>
<p>yes make sense</p>



<a name="129102342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102342">(Jul 04 2018 at 20:07)</a>:</h4>
<p>that might actualyl be a plausible first PR</p>



<a name="129102345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102345">(Jul 04 2018 at 20:07)</a>:</h4>
<p>just skip AST borowck if borrowck=mir</p>



<a name="129102348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102348">(Jul 04 2018 at 20:07)</a>:</h4>
<p>yep</p>



<a name="129102351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102351">(Jul 04 2018 at 20:07)</a>:</h4>
<p>I wouldn't be surprised if this proves to be more complex than expected</p>



<a name="129102357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102357">(Jul 04 2018 at 20:07)</a>:</h4>
<p>e.g., maybe add an assertion into borrowck that it does not run if borrowck=mir</p>



<a name="129102359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102359">(Jul 04 2018 at 20:07)</a>:</h4>
<p>just to be sure :)</p>



<a name="129102361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102361">(Jul 04 2018 at 20:07)</a>:</h4>
<p>you want to do it if borrowck=mir ?</p>



<a name="129102368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102368">(Jul 04 2018 at 20:07)</a>:</h4>
<p>or just for migrate mode?</p>



<a name="129102372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102372">(Jul 04 2018 at 20:08)</a>:</h4>
<p>I guess in all those modes?</p>



<a name="129102396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102396">(Jul 04 2018 at 20:08)</a>:</h4>
<p>both really</p>



<a name="129102415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102415">(Jul 04 2018 at 20:08)</a>:</h4>
<p>but I'm saying, before we even add migrate mode</p>



<a name="129102421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102421">(Jul 04 2018 at 20:08)</a>:</h4>
<p>we could do the hard work for <code>-Zborrowck=mir</code></p>



<a name="129102422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102422">(Jul 04 2018 at 20:08)</a>:</h4>
<p>yes</p>



<a name="129102425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102425">(Jul 04 2018 at 20:08)</a>:</h4>
<p>gonna do that</p>



<a name="129102433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102433">(Jul 04 2018 at 20:08)</a>:</h4>
<p>was investigating about ast borrowck errors</p>



<a name="129102440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102440">(Jul 04 2018 at 20:08)</a>:</h4>
<p>right now it does this weird thing where it "silences" them</p>



<a name="129102446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102446">(Jul 04 2018 at 20:08)</a>:</h4>
<p>I think that was because of the "unused mutability" lint</p>



<a name="129102449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102449">(Jul 04 2018 at 20:08)</a>:</h4>
<p>yeah trying to find all that :)</p>



<a name="129102458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102458">(Jul 04 2018 at 20:09)</a>:</h4>
<p>which we've now reimplemented in MIR borrowck</p>



<a name="129102460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102460">(Jul 04 2018 at 20:09)</a>:</h4>
<p>I guess it's related to that Result struct</p>



<a name="129102463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102463">(Jul 04 2018 at 20:09)</a>:</h4>
<p><code>BorrowCheckResult</code></p>



<a name="129102557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102557">(Jul 04 2018 at 20:11)</a>:</h4>
<p><code>unused::check</code> :P</p>



<a name="129102688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102688">(Jul 04 2018 at 20:14)</a>:</h4>
<p>to be honest there's nothing inside <code>fn borrowck</code> that looks like silencing errors (to me)</p>



<a name="129102722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102722">(Jul 04 2018 at 20:15)</a>:</h4>
<p>ahh I guess it happens here <code>build_borrowck_dataflow_data</code></p>



<a name="129102874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102874">(Jul 04 2018 at 20:19)</a>:</h4>
<p>it probably calls <code>cancel()</code> or something</p>



<a name="129102880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102880">(Jul 04 2018 at 20:20)</a>:</h4>
<p>not seeing that (yet)</p>



<a name="129102927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102927">(Jul 04 2018 at 20:20)</a>:</h4>
<p>look for </p>
<div class="codehilite"><pre><span></span><span class="w">    </span><span class="k">fn</span> <span class="nf">cancel_if_wrong_origin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="w"></span>
<span class="w">                              </span><span class="k">mut</span><span class="w"> </span><span class="n">diag</span>: <span class="nc">DiagnosticBuilder</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">                              </span><span class="n">o</span>: <span class="nc">Origin</span><span class="p">)</span><span class="w"></span>
<span class="w">                              </span>-&gt; <span class="nc">DiagnosticBuilder</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="o">&gt;</span><span class="w"></span>
<span class="w">    </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="n">o</span><span class="p">.</span><span class="n">should_emit_errors</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">.</span><span class="n">borrowck_mode</span><span class="p">())</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">.</span><span class="n">sess</span><span class="p">.</span><span class="n">diagnostic</span><span class="p">().</span><span class="n">cancel</span><span class="p">(</span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="n">diag</span><span class="p">);</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"></span>
<span class="w">        </span><span class="n">diag</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
</pre></div>



<a name="129102931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102931">(Jul 04 2018 at 20:20)</a>:</h4>
<p>that said, I would put an asseriton right in the beginning of AST borrowck</p>



<a name="129102933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102933">(Jul 04 2018 at 20:20)</a>:</h4>
<p>yes</p>



<a name="129102952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102952">(Jul 04 2018 at 20:21)</a>:</h4>
<p>isn't it cancelling on check_loans</p>



<a name="129102968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102968">(Jul 04 2018 at 20:21)</a>:</h4>
<p>that is some other weird code</p>



<a name="129102969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102969">(Jul 04 2018 at 20:22)</a>:</h4>
<p>I think maybe that is suppressing duplicates?</p>



<a name="129102970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129102970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129102970">(Jul 04 2018 at 20:22)</a>:</h4>
<p>I saw that <code>cancel_if_wrong_origin</code></p>



<a name="129103028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103028">(Jul 04 2018 at 20:22)</a>:</h4>
<p>well in any case that use of cancel is distinct</p>



<a name="129103032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103032">(Jul 04 2018 at 20:22)</a>:</h4>
<p>it seems to be that there are two operations A and B</p>



<a name="129103036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103036">(Jul 04 2018 at 20:22)</a>:</h4>
<p>that must be mutually compatible</p>



<a name="129103038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103038">(Jul 04 2018 at 20:22)</a>:</h4>
<p>(in <code>check_loans</code> I mean)</p>



<a name="129103042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103042">(Jul 04 2018 at 20:22)</a>:</h4>
<p>ok</p>



<a name="129103043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103043">(Jul 04 2018 at 20:22)</a>:</h4>
<p>so we check whether A prevents B and whether B prevents A</p>



<a name="129103048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103048">(Jul 04 2018 at 20:23)</a>:</h4>
<p>if both are errors, we pick one arbitrarily</p>



<a name="129103053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103053">(Jul 04 2018 at 20:23)</a>:</h4>
<p>otherwise, we report the one that failed</p>



<a name="129103055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103055">(Jul 04 2018 at 20:23)</a>:</h4>
<p>unsure what <code>cancel_if_wrong_origin</code> means :P</p>



<a name="129103056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103056">(Jul 04 2018 at 20:23)</a>:</h4>
<p>it means "cancel if this came from the wrong borrowck"</p>



<a name="129103063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103063">(Jul 04 2018 at 20:23)</a>:</h4>
<p>ahh ok</p>



<a name="129103069"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103069" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103069">(Jul 04 2018 at 20:24)</a>:</h4>
<p>so we don't want that anymore</p>



<a name="129103130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103130">(Jul 04 2018 at 20:25)</a>:</h4>
<p>I'm talking about PR #2 the first thing as you've said is to make mir mode only run mir borrowck</p>



<a name="129103190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103190">(Jul 04 2018 at 20:26)</a>:</h4>
<p>hmm well</p>



<a name="129103192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103192">(Jul 04 2018 at 20:26)</a>:</h4>
<p>we might still need similar logic in the end</p>



<a name="129103193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103193">(Jul 04 2018 at 20:26)</a>:</h4>
<p>because if we are in migrate mode</p>



<a name="129103195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103195">(Jul 04 2018 at 20:26)</a>:</h4>
<p>we want to know <em>if</em> there were errors</p>



<a name="129103198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103198">(Jul 04 2018 at 20:26)</a>:</h4>
<p>but we don't want to report them</p>



<a name="129103208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103208">(Jul 04 2018 at 20:26)</a>:</h4>
<p>ya, right</p>



<a name="129103209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103209">(Jul 04 2018 at 20:26)</a>:</h4>
<p>ok</p>



<a name="129103295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103295">(Jul 04 2018 at 20:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> another question</p>



<a name="129103298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103298">(Jul 04 2018 at 20:29)</a>:</h4>
<p>when we run compare mode we are running ast borrowck twice, right?</p>



<a name="129103312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103312">(Jul 04 2018 at 20:29)</a>:</h4>
<p>one in ast mode and another one in mir mode, because there we run both modes</p>



<a name="129103377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103377">(Jul 04 2018 at 20:30)</a>:</h4>
<p>I don't think so</p>



<a name="129103384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103384">(Jul 04 2018 at 20:30)</a>:</h4>
<p>compare-mode is just another mode</p>



<a name="129103388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103388">(Jul 04 2018 at 20:30)</a>:</h4>
<p>ast-borrowck is a query</p>



<a name="129103390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103390">(Jul 04 2018 at 20:30)</a>:</h4>
<p>so it is memoized</p>



<a name="129103393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103393">(Jul 04 2018 at 20:30)</a>:</h4>
<p>no matter how many times you request it, it will only run once</p>



<a name="129103407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103407">(Jul 04 2018 at 20:31)</a>:</h4>
<p>when it is in compare mode, it adds (Ast) to its errors and otherwise emits them as normal</p>



<a name="129103410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103410">(Jul 04 2018 at 20:31)</a>:</h4>
<p>ahh ok, it doesn't run because it's memoized</p>



<a name="129103413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103413">(Jul 04 2018 at 20:31)</a>:</h4>
<p>when we are in AST mode, it just emits its errors</p>



<a name="129103414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103414">(Jul 04 2018 at 20:31)</a>:</h4>
<p>that fine</p>



<a name="129103416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103416">(Jul 04 2018 at 20:31)</a>:</h4>
<p>when we are in MIR mode, it emits nothing</p>



<a name="129103421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103421">(Jul 04 2018 at 20:31)</a>:</h4>
<p>ok</p>



<a name="129103567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103567">(Jul 04 2018 at 20:35)</a>:</h4>
<p>what about this ...</p>



<a name="129103571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103571">(Jul 04 2018 at 20:35)</a>:</h4>
<div class="codehilite"><pre><span></span>    // Return early if we are not supposed to use MIR borrow checker for this function.
    return_early = !tcx.has_attr(def_id, &quot;rustc_mir_borrowck&quot;) &amp;&amp; !tcx.use_mir_borrowck();
</pre></div>



<a name="129103594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103594">(Jul 04 2018 at 20:35)</a>:</h4>
<p>the idea is that won't happen anymore?</p>



<a name="129103609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103609">(Jul 04 2018 at 20:36)</a>:</h4>
<p>we should probably just remove that <code>#[rustc_mir_borrowck]</code> attribute to be honest</p>



<a name="129103649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103649">(Jul 04 2018 at 20:36)</a>:</h4>
<p>I'd say we are passed that point</p>



<a name="129103651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103651">(Jul 04 2018 at 20:36)</a>:</h4>
<p>that said</p>



<a name="129103652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103652">(Jul 04 2018 at 20:36)</a>:</h4>
<p>I'm not sure what you mean by "that won't happen anymore"</p>



<a name="129103654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103654">(Jul 04 2018 at 20:36)</a>:</h4>
<p>it could still happen if we are in AST mode?</p>



<a name="129103657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103657">(Jul 04 2018 at 20:36)</a>:</h4>
<p>that is, returning early could still happen</p>



<a name="129103660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103660">(Jul 04 2018 at 20:36)</a>:</h4>
<p>but why in AST mode do we call MIR borrowck stuff?</p>



<a name="129103691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103691">(Jul 04 2018 at 20:37)</a>:</h4>
<p>well, I guess you could fix that, true</p>



<a name="129103693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103693">(Jul 04 2018 at 20:37)</a>:</h4>
<p>right now we call the <code>mir_borrowck</code> unconditionally I think</p>



<a name="129103703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103703">(Jul 04 2018 at 20:37)</a>:</h4>
<p>we could consult the mode and decide not to do so</p>



<a name="129103705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129103705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129103705">(Jul 04 2018 at 20:37)</a>:</h4>
<p>I see</p>



<a name="129104547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104547">(Jul 04 2018 at 20:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> what does <code>#[rustc_mir_borrowck]</code> means?</p>



<a name="129104550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104550">(Jul 04 2018 at 20:59)</a>:</h4>
<p>you told me that I should remove that</p>



<a name="129104551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104551">(Jul 04 2018 at 20:59)</a>:</h4>
<p>but change to what?</p>



<a name="129104572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104572">(Jul 04 2018 at 21:00)</a>:</h4>
<p><code>#![feature(nll)]</code>?</p>



<a name="129104679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104679">(Jul 04 2018 at 21:02)</a>:</h4>
<p>it enables MIR borrowck for just one function</p>



<a name="129104682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104682">(Jul 04 2018 at 21:02)</a>:</h4>
<p>if it is used in tests, then I think yes just replacing with <code>#![feature(nll)]</code> would be fine</p>



<a name="129104785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104785">(Jul 04 2018 at 21:04)</a>:</h4>
<p>ok</p>



<a name="129104792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104792">(Jul 04 2018 at 21:04)</a>:</h4>
<p>and last thing, how do I check for errors after calling borrowck?</p>



<a name="129104793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104793">(Jul 04 2018 at 21:04)</a>:</h4>
<p>or mir_borrowck?</p>



<a name="129104798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129104798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129104798">(Jul 04 2018 at 21:05)</a>:</h4>
<p>I've this <code>BorrowCheckResult</code> thing but don't see how to check for errors</p>



<a name="129106134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106134">(Jul 04 2018 at 21:38)</a>:</h4>
<p>yes, I guess we have to add a field or something</p>



<a name="129106136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106136">(Jul 04 2018 at 21:38)</a>:</h4>
<p>that indicates whether any errors occurred</p>



<a name="129106218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106218">(Jul 04 2018 at 21:40)</a>:</h4>
<p>but I don't know when exactly the code figures out that there's an error</p>



<a name="129106230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106230">(Jul 04 2018 at 21:41)</a>:</h4>
<p>well, it's basically exactly that function</p>



<a name="129106234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106234">(Jul 04 2018 at 21:41)</a>:</h4>
<p>the one that checks whether to "cancel" the error</p>



<a name="129106237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106237">(Jul 04 2018 at 21:41)</a>:</h4>
<p>I would think that we would have it flip some flag to true</p>



<a name="129106294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106294">(Jul 04 2018 at 21:42)</a>:</h4>
<p>ok</p>



<a name="129106295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106295">(Jul 04 2018 at 21:42)</a>:</h4>
<p>will check that</p>



<a name="129106299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106299">(Jul 04 2018 at 21:42)</a>:</h4>
<p>another thing</p>



<a name="129106302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106302">(Jul 04 2018 at 21:42)</a>:</h4>
<p>was looking to remove <code>rustc_mir_borrowck</code></p>



<a name="129106305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106305">(Jul 04 2018 at 21:43)</a>:</h4>
<div class="codehilite"><pre><span></span>[santiago@archlinux rust1 (z-borrowck-migrate)]$ rg rustc_mir_borrowck
src/librustc_mir/borrow_check/mod.rs
83:    return_early = !tcx.has_attr(def_id, &quot;rustc_mir_borrowck&quot;) &amp;&amp; !tcx.use_mir_borrowck();

src/librustc_mir/transform/rustc_peek.rs
39:        if !tcx.has_attr(def_id, &quot;rustc_mir_borrowck&quot;) {
</pre></div>



<a name="129106310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106310">(Jul 04 2018 at 21:43)</a>:</h4>
<p>those are all the occurrences of it</p>



<a name="129106314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106314">(Jul 04 2018 at 21:43)</a>:</h4>
<p>but never see where or how it's defined</p>



<a name="129106362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106362">(Jul 04 2018 at 21:44)</a>:</h4>
<p>that just shows up if you use an attribute on top of a function?</p>



<a name="129106364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106364">(Jul 04 2018 at 21:44)</a>:</h4>
<p>as the test is doing?</p>



<a name="129106385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106385">(Jul 04 2018 at 21:45)</a>:</h4>
<p>I was expecting to see a white list of attrs or something</p>



<a name="129106424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106424">(Jul 04 2018 at 21:46)</a>:</h4>
<p>there is a white list; I think we might have some special rule for <code>rustc_*</code></p>



<a name="129106427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106427">(Jul 04 2018 at 21:46)</a>:</h4>
<p>ahh ok</p>



<a name="129106430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106430">(Jul 04 2018 at 21:46)</a>:</h4>
<p>that's why I don't find the thing :)</p>



<a name="129106432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106432">(Jul 04 2018 at 21:46)</a>:</h4>
<p>ok</p>



<a name="129106433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106433">(Jul 04 2018 at 21:46)</a>:</h4>
<p>also</p>



<a name="129106436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106436">(Jul 04 2018 at 21:46)</a>:</h4>
<p>however, if you look for other such attributes (e.g., <code>rustc_if_this_changed</code>), they have entries in the whitelist</p>



<a name="129106440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106440">(Jul 04 2018 at 21:46)</a>:</h4>
<p>it's possible that <code>rustc_mir_borrowck</code> was just incompletely removed</p>



<a name="129106452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106452">(Jul 04 2018 at 21:47)</a>:</h4>
<p>also</p>



<a name="129106453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106453">(Jul 04 2018 at 21:47)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/master/src/librustc_mir/transform/rustc_peek.rs#L39" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_mir/transform/rustc_peek.rs#L39">https://github.com/rust-lang/rust/blob/master/src/librustc_mir/transform/rustc_peek.rs#L39</a></p>



<a name="129106455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106455">(Jul 04 2018 at 21:47)</a>:</h4>
<p>unsure what's the code about</p>



<a name="129106458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106458">(Jul 04 2018 at 21:47)</a>:</h4>
<p>but this is ... always? ... skipped</p>



<a name="129106495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106495">(Jul 04 2018 at 21:48)</a>:</h4>
<p>I mean if you don't use the attr</p>



<a name="129106499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106499">(Jul 04 2018 at 21:48)</a>:</h4>
<p>unless the attr is cascade from another attr</p>



<a name="129106502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106502">(Jul 04 2018 at 21:48)</a>:</h4>
<p>need to search for it without rustc_ to see how it's used</p>



<a name="129106564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106564">(Jul 04 2018 at 21:50)</a>:</h4>
<p>oh, that's some stuff that pnkfelix added</p>



<a name="129106570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106570">(Jul 04 2018 at 21:50)</a>:</h4>
<p>for asserting things about the dataflow state</p>



<a name="129106573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106573">(Jul 04 2018 at 21:50)</a>:</h4>
<p>alternatively, we could keep the attribute, but just error if you use it without <code>#![feature(nll)]</code></p>



<a name="129106575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106575">(Jul 04 2018 at 21:50)</a>:</h4>
<p>though I think it'd probably be fine to just rip out all that code</p>



<a name="129106577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106577">(Jul 04 2018 at 21:50)</a>:</h4>
<p>but it is a way of doing some unit testing</p>



<a name="129106584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106584">(Jul 04 2018 at 21:51)</a>:</h4>
<p>in fact, people using that code appear to be the <em>only</em> ones using <code>#![rustc_mir_borrowck]</code></p>



<a name="129106585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106585">(Jul 04 2018 at 21:51)</a>:</h4>
<p>I'm not understanding what's going on</p>



<a name="129106587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106587">(Jul 04 2018 at 21:51)</a>:</h4>
<p>don't find anything about mir_borrowck</p>



<a name="129106588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106588">(Jul 04 2018 at 21:51)</a>:</h4>
<p>what I find seems unrelated</p>



<a name="129106591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106591">(Jul 04 2018 at 21:51)</a>:</h4>
<p>it's really a red herring</p>



<a name="129106595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106595">(Jul 04 2018 at 21:51)</a>:</h4>
<p>this attribute I mean</p>



<a name="129106596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106596">(Jul 04 2018 at 21:51)</a>:</h4>
<blockquote>
<p>in fact, people using that code appear to be the <em>only</em> ones using <code>#![rustc_mir_borrowck]</code></p>
</blockquote>
<p>exactly that's what I mean</p>



<a name="129106597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106597">(Jul 04 2018 at 21:51)</a>:</h4>
<p>but basically: it enables MIR borrowck on an individual function</p>



<a name="129106637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106637">(Jul 04 2018 at 21:52)</a>:</h4>
<p>and it also (apparently) enables this other kind of wacky unit testing stuff</p>



<a name="129106639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106639">(Jul 04 2018 at 21:52)</a>:</h4>
<p>where we recognize special fuinctions</p>



<a name="129106640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106640">(Jul 04 2018 at 21:52)</a>:</h4>
<p>and trigger extra assertions</p>



<a name="129106641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106641">(Jul 04 2018 at 21:52)</a>:</h4>
<p>e.g., to test that a variable is considered uninitialized at a particular point</p>



<a name="129106643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106643">(Jul 04 2018 at 21:52)</a>:</h4>
<p>now that we have the full MIR borrowck working, those tests are less imporatnt</p>



<a name="129106647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106647">(Jul 04 2018 at 21:52)</a>:</h4>
<p>since we can just test for ordinary errors</p>



<a name="129106648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106648">(Jul 04 2018 at 21:52)</a>:</h4>
<p>should we keep or not?</p>



<a name="129106652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106652">(Jul 04 2018 at 21:52)</a>:</h4>
<p>I'm not sure :)</p>



<a name="129106653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106653">(Jul 04 2018 at 21:53)</a>:</h4>
<p>hehe</p>



<a name="129106654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106654">(Jul 04 2018 at 21:53)</a>:</h4>
<p>I think I'd just leave it, it's not important</p>



<a name="129106659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106659">(Jul 04 2018 at 21:53)</a>:</h4>
<p>but we can simplify the logic around it</p>



<a name="129106661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106661">(Jul 04 2018 at 21:53)</a>:</h4>
<p>also</p>



<a name="129106662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106662">(Jul 04 2018 at 21:53)</a>:</h4>
<p>maybe <span class="user-mention" data-user-id="116083">@pnkfelix</span> wants to keep it, not sure</p>



<a name="129106663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106663">(Jul 04 2018 at 21:53)</a>:</h4>
<p>can you point me to where is this attribute defined?</p>



<a name="129106664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106664">(Jul 04 2018 at 21:53)</a>:</h4>
<p>I can't find it even removing rustc_</p>



<a name="129106666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106666">(Jul 04 2018 at 21:53)</a>:</h4>
<p>the white list you mentioned</p>



<a name="129106779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106779">(Jul 04 2018 at 21:56)</a>:</h4>
<p>maybe <a href="https://github.com/rust-lang/rust/blob/master/src/libsyntax/feature_gate.rs#L697" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/libsyntax/feature_gate.rs#L697">https://github.com/rust-lang/rust/blob/master/src/libsyntax/feature_gate.rs#L697</a></p>



<a name="129106847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106847">(Jul 04 2018 at 21:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> yes but interestingly, <code>rustc_mir_borrowck</code> is not listed there</p>



<a name="129106850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106850">(Jul 04 2018 at 21:59)</a>:</h4>
<p>maybe <code>rustc_mir</code> acts like rustc_mir_* or something?</p>



<a name="129106925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106925">(Jul 04 2018 at 22:01)</a>:</h4>
<p>we don't really have a notion of "defining" attributes</p>



<a name="129106926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106926">(Jul 04 2018 at 22:01)</a>:</h4>
<p>they are just strings</p>



<a name="129106927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106927">(Jul 04 2018 at 22:01)</a>:</h4>
<p>but we do have this whitelist that prevents you from using random stuff</p>



<a name="129106929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106929">(Jul 04 2018 at 22:01)</a>:</h4>
<p>(the one that <span class="user-mention" data-user-id="116113">@lqd</span> cited, yes)</p>



<a name="129106971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106971">(Jul 04 2018 at 22:02)</a>:</h4>
<p>you'd have to check, maybe it has some rules around <code>rustc_</code>, I can't recall</p>



<a name="129106976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106976">(Jul 04 2018 at 22:02)</a>:</h4>
<p>I don't see any <em>obvious</em> code of that kind</p>



<a name="129106981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106981">(Jul 04 2018 at 22:02)</a>:</h4>
<p>try <code>rustc_foo_bar</code> and see if you get an error :)</p>



<a name="129106997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129106997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129106997">(Jul 04 2018 at 22:03)</a>:</h4>
<p>somewhere there must be such code:</p>
<p><a href="https://play.rust-lang.org/?gist=dbe1c01e25907f7b9ded86396cbce0a6&amp;version=nightly&amp;mode=debug&amp;edition=2015" target="_blank" title="https://play.rust-lang.org/?gist=dbe1c01e25907f7b9ded86396cbce0a6&amp;version=nightly&amp;mode=debug&amp;edition=2015">https://play.rust-lang.org/?gist=dbe1c01e25907f7b9ded86396cbce0a6&amp;version=nightly&amp;mode=debug&amp;edition=2015</a></p>



<a name="129107004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107004">(Jul 04 2018 at 22:03)</a>:</h4>
<p>ah, I see it</p>



<a name="129107007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107007">(Jul 04 2018 at 22:03)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/4af9132a022ebe4111395139d1a4e45e285d299a/src/libsyntax/feature_gate.rs#L1192-L1196" target="_blank" title="https://github.com/rust-lang/rust/blob/4af9132a022ebe4111395139d1a4e45e285d299a/src/libsyntax/feature_gate.rs#L1192-L1196">right here</a></p>



<a name="129107049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107049">(Jul 04 2018 at 22:04)</a>:</h4>
<p>ok</p>



<a name="129107052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107052">(Jul 04 2018 at 22:04)</a>:</h4>
<p>anyway ...</p>



<a name="129107055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107055">(Jul 04 2018 at 22:04)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> what do you think I should do?</p>



<a name="129107059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107059">(Jul 04 2018 at 22:04)</a>:</h4>
<p>I think you should just leave it :) I apologize for sending you on a wild goose chase</p>



<a name="129107065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107065">(Jul 04 2018 at 22:05)</a>:</h4>
<p>no worries</p>



<a name="129107070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107070">(Jul 04 2018 at 22:05)</a>:</h4>
<p>but I mean as high level</p>



<a name="129107071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107071">(Jul 04 2018 at 22:05)</a>:</h4>
<p>but I think that we can feel free to tweak the logic around it</p>



<a name="129107074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107074">(Jul 04 2018 at 22:05)</a>:</h4>
<p>in particular, I would modify the tests that use it (there are like 4)</p>



<a name="129107076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107076">(Jul 04 2018 at 22:05)</a>:</h4>
<p>to have <code>#![feature(nll)]</code></p>



<a name="129107081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107081">(Jul 04 2018 at 22:05)</a>:</h4>
<p>and say that it does not affect whether MIR borowck gets used or not</p>



<a name="129107084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107084">(Jul 04 2018 at 22:05)</a>:</h4>
<p>it's only there for this <code>rustc_peek</code> stuff</p>



<a name="129107088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107088">(Jul 04 2018 at 22:05)</a>:</h4>
<p>actually</p>



<a name="129107089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107089">(Jul 04 2018 at 22:06)</a>:</h4>
<p>all of that code <em>also</em> uses <code>#[rustc_mir(...)]</code></p>



<a name="129107128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107128">(Jul 04 2018 at 22:06)</a>:</h4>
<p>so <em>that</em> could be the attribute we use to gate that stuff</p>



<a name="129107130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107130">(Jul 04 2018 at 22:06)</a>:</h4>
<p>see e.g. src/test/compile-fail/mir-dataflow/uninits-1.rs</p>



<a name="129107132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107132">(Jul 04 2018 at 22:06)</a>:</h4>
<p>yes</p>



<a name="129107140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107140">(Jul 04 2018 at 22:06)</a>:</h4>
<p>in which case I think we shoudl remove it again :)</p>



<a name="129107141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107141">(Jul 04 2018 at 22:06)</a>:</h4>
<p>you want to change all that and use just feature(nll)?</p>



<a name="129107143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107143">(Jul 04 2018 at 22:06)</a>:</h4>
<p>I mostly didn't want to remove the unit testing stuff</p>



<a name="129107148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107148">(Jul 04 2018 at 22:07)</a>:</h4>
<p>just as a simplification</p>



<a name="129107155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107155">(Jul 04 2018 at 22:07)</a>:</h4>
<p>this logic is complex enough</p>



<a name="129107157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107157">(Jul 04 2018 at 22:07)</a>:</h4>
<p>without adding add'l attributes in there</p>



<a name="129107158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107158">(Jul 04 2018 at 22:07)</a>:</h4>
<p>but if we change to feature(nll) we won't use the test anymore</p>



<a name="129107159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107159">(Jul 04 2018 at 22:07)</a>:</h4>
<p>the unit test</p>



<a name="129107161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107161">(Jul 04 2018 at 22:07)</a>:</h4>
<p>why?</p>



<a name="129107164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107164">(Jul 04 2018 at 22:07)</a>:</h4>
<p>the peek thing</p>



<a name="129107166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107166">(Jul 04 2018 at 22:07)</a>:</h4>
<p>I mean you also have to modify that peek code</p>



<a name="129107168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107168">(Jul 04 2018 at 22:07)</a>:</h4>
<p>not to look for <code>#![rustc_mir_borrowck]</code> but instead to look for <code>#![rustc_mir]</code></p>



<a name="129107171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107171">(Jul 04 2018 at 22:07)</a>:</h4>
<p>I see</p>



<a name="129107173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107173">(Jul 04 2018 at 22:07)</a>:</h4>
<p>ok</p>



<a name="129107206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107206">(Jul 04 2018 at 22:08)</a>:</h4>
<p>that's the first thing to do</p>



<a name="129107215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107215">(Jul 04 2018 at 22:08)</a>:</h4>
<p>then I can make borrowck ast not run when borrowck=mir</p>



<a name="129107216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107216">(Jul 04 2018 at 22:08)</a>:</h4>
<p>just change <code>if !tcx.has_attr(def_id, "rustc_mir_borrowck")</code> to <code>if !tcx.has_attr(def_id, "rustc_mir")</code></p>



<a name="129107218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107218">(Jul 04 2018 at 22:08)</a>:</h4>
<p>cool :)</p>



<a name="129107220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107220">(Jul 04 2018 at 22:08)</a>:</h4>
<p>and then tackle the issue I guess :)</p>



<a name="129107222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129107222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129107222">(Jul 04 2018 at 22:08)</a>:</h4>
<p>heh :)</p>



<a name="129115718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129115718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129115718">(Jul 05 2018 at 03:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> can't make <code>cancel_if_wrong_origin</code> modify <code>BorrowckCtxt</code></p>



<a name="129115760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129115760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129115760">(Jul 05 2018 at 03:30)</a>:</h4>
<p>to make that happen I'd need to implement <code>BorrowckErrors</code> for <code>&amp;mut BorrowckCtxt</code></p>



<a name="129115764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129115764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129115764">(Jul 05 2018 at 03:30)</a>:</h4>
<p>and that's not possible because <code>&amp;mut BorrowckCtxt</code> doesn't satisfy <code>Copy</code></p>



<a name="129115765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129115765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129115765">(Jul 05 2018 at 03:30)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0277]: the trait bound `&amp;&#39;a mut borrowck::BorrowckCtxt&lt;&#39;b, &#39;tcx&gt;: std::marker::Copy` is not satisfied
   --&gt; librustc_borrowck/borrowck/mod.rs:282:24
    |
282 | impl&lt;&#39;a, &#39;b, &#39;tcx: &#39;b&gt; BorrowckErrors&lt;&#39;a&gt; for &amp;&#39;a mut BorrowckCtxt&lt;&#39;b, &#39;tcx&gt; {
    |                        ^^^^^^^^^^^^^^^^^^ the trait `std::marker::Copy` is not implemented for `&amp;&#39;a mut borrowck::BorrowckCtxt&lt;&#39;b, &#39;tcx&gt;`
</pre></div>



<a name="129116322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116322">(Jul 05 2018 at 03:51)</a>:</h4>
<p>what about something like ...</p>



<a name="129116325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116325">(Jul 05 2018 at 03:51)</a>:</h4>
<div class="codehilite"><pre><span></span>    // (Mir-)Borrowck uses `mir_validated`, so we have to force it to
    // execute before we can steal.
    let _ = tcx.mir_borrowck(def_id);

    if let Some(_) = tcx.sess.diagnostic().get_code() {
        let _ = tcx.borrowck(def_id);
    }
</pre></div>



<a name="129116326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116326">(Jul 05 2018 at 03:51)</a>:</h4>
<p>will check this out tomorrow</p>



<a name="129116377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116377">(Jul 05 2018 at 03:53)</a>:</h4>
<p>unsure if all errors have codes...</p>



<a name="129116494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116494">(Jul 05 2018 at 03:57)</a>:</h4>
<p>well I guess I'd need to push the flag to <code>diagnostic</code> and done</p>



<a name="129116496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116496">(Jul 05 2018 at 03:57)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> will check tomorrow if you have any suggestion</p>



<a name="129116889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129116889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129116889">(Jul 05 2018 at 04:10)</a>:</h4>
<p>last thing, now I wonder if <code>if self.tcx.sess.has_errors() {</code> doesn't do the trick</p>



<a name="129129358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129358">(Jul 05 2018 at 10:20)</a>:</h4>
<blockquote>
<p>last thing, now I wonder if <code>if self.tcx.sess.has_errors() {</code> doesn't do the trick</p>
</blockquote>
<p>well, that will be a bit "crude" — i.e., the errors could've come from anywhere</p>



<a name="129129366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129366">(Jul 05 2018 at 10:20)</a>:</h4>
<p>let me look at the code a bit more closely :)</p>



<a name="129129430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129430">(Jul 05 2018 at 10:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> you could use a <code>Cell</code></p>



<a name="129129436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129436">(Jul 05 2018 at 10:21)</a>:</h4>
<p>however, I wonder why it has that <code>Copy</code> bound</p>



<a name="129129438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129438">(Jul 05 2018 at 10:21)</a>:</h4>
<p>oh, I sort of remember this</p>



<a name="129129482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129482">(Jul 05 2018 at 10:22)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> I would add a <code>Cell</code>; that type already has a <code>RefCell</code> in it</p>



<a name="129129491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129129491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129129491">(Jul 05 2018 at 10:23)</a>:</h4>
<p>e.g.,</p>
<div class="codehilite"><pre><span></span><span class="k">pub</span><span class="w"> </span><span class="k">struct</span> <span class="nc">BorrowckCtxt</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span>: <span class="na">&#39;a</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">tcx</span>: <span class="nc">TyCtxt</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>

<span class="w">    </span><span class="c1">// tables for the current thing we are checking; set to</span>
<span class="w">    </span><span class="c1">// Some in `borrowck_fn` and cleared later</span>
<span class="w">    </span><span class="n">tables</span>: <span class="kp">&amp;</span><span class="na">&#39;a</span><span class="w"> </span><span class="n">ty</span>::<span class="n">TypeckTables</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>

<span class="w">    </span><span class="n">region_scope_tree</span>: <span class="nc">Lrc</span><span class="o">&lt;</span><span class="n">region</span>::<span class="n">ScopeTree</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>

<span class="w">    </span><span class="n">owner_def_id</span>: <span class="nc">DefId</span><span class="p">,</span><span class="w"></span>

<span class="w">    </span><span class="n">body</span>: <span class="kp">&amp;</span><span class="na">&#39;tcx</span><span class="w"> </span><span class="n">hir</span>::<span class="n">Body</span><span class="p">,</span><span class="w"></span>

<span class="w">    </span><span class="n">errors_reported</span>: <span class="nc">Cell</span><span class="o">&lt;</span><span class="kt">bool</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="c1">// &lt;-- added this!</span>

<span class="w">    </span><span class="n">used_mut_nodes</span>: <span class="nc">RefCell</span><span class="o">&lt;</span><span class="n">FxHashSet</span><span class="o">&lt;</span><span class="n">HirId</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="129147846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147846">(Jul 05 2018 at 16:16)</a>:</h4>
<p>so ...</p>



<a name="129147865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147865">(Jul 05 2018 at 16:16)</a>:</h4>
<p><code>cancel_if_wrong_origin</code> is defined on both <code>TyCtxt</code> and <code>BorrowckCtxt</code></p>



<a name="129147887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147887">(Jul 05 2018 at 16:17)</a>:</h4>
<p>it seems that AST borrow checker uses the one in <code>BorrowckCtxt</code> and MIR borrow checker uses the one in <code>TyCtxt</code></p>



<a name="129147901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147901">(Jul 05 2018 at 16:17)</a>:</h4>
<p>for the first thing I need to do is to skip AST borrow check if MIR borrow check accepts the code</p>



<a name="129147941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147941">(Jul 05 2018 at 16:18)</a>:</h4>
<p>should I add the flag to <code>TyCtxt</code>?</p>



<a name="129147958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147958">(Jul 05 2018 at 16:18)</a>:</h4>
<p>it's seems to me like polluting things a lot with stuff</p>



<a name="129147963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147963">(Jul 05 2018 at 16:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> unsure what you think about it</p>



<a name="129147987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129147987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129147987">(Jul 05 2018 at 16:18)</a>:</h4>
<p>and unsure why we don't have a borrow check context for MIR</p>



<a name="129148758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148758">(Jul 05 2018 at 16:32)</a>:</h4>
<blockquote>
<p>should I add the flag to <code>TyCtxt</code>?</p>
</blockquote>
<p>definitely not</p>



<a name="129148770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148770">(Jul 05 2018 at 16:32)</a>:</h4>
<p>hmm I think what we should do with the MIR errors</p>



<a name="129148774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148774">(Jul 05 2018 at 16:32)</a>:</h4>
<p>is buffer them somehow</p>



<a name="129148778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148778">(Jul 05 2018 at 16:32)</a>:</h4>
<p>MIR errors should never "cancel"</p>



<a name="129148781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148781">(Jul 05 2018 at 16:32)</a>:</h4>
<p>but they may need to be converted to lints</p>



<a name="129148795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129148795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129148795">(Jul 05 2018 at 16:33)</a>:</h4>
<p>did you make progress on not running AST when in borrowck=mir mode?</p>



<a name="129149159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149159">(Jul 05 2018 at 16:40)</a>:</h4>
<p>ok</p>



<a name="129149166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149166">(Jul 05 2018 at 16:41)</a>:</h4>
<p>I guess I can make just that change and push</p>



<a name="129149457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149457">(Jul 05 2018 at 16:46)</a>:</h4>
<div class="codehilite"><pre><span></span>-    let _ = tcx.borrowck(def_id);
+
+    if tcx.borrowck_mode() != BorrowckMode::Mir {
+        let _ = tcx.borrowck(def_id);
+    }
</pre></div>



<a name="129149461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149461">(Jul 05 2018 at 16:46)</a>:</h4>
<p>naively did this</p>



<a name="129149468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149468">(Jul 05 2018 at 16:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> is there something else to consider?</p>



<a name="129149475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149475">(Jul 05 2018 at 16:47)</a>:</h4>
<p>I'm compiling and going to run tests</p>



<a name="129149498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149498">(Jul 05 2018 at 16:47)</a>:</h4>
<p>well I can make that less hacky</p>



<a name="129149518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129149518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129149518">(Jul 05 2018 at 16:47)</a>:</h4>
<p>I guess I should change use_ast() fn to check for that</p>



<a name="129150302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129150302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129150302">(Jul 05 2018 at 17:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> I would add an assertion in the AST borrowck the borrowck mode is not <code>Mir</code>. Then we'll find out if there is something else to consider. :)</p>



<a name="129150411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129150411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129150411">(Jul 05 2018 at 17:05)</a>:</h4>
<p>done!</p>



<a name="129150473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129150473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129150473">(Jul 05 2018 at 17:06)</a>:</h4>
<p>nice</p>



<a name="129150900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129150900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129150900">(Jul 05 2018 at 17:15)</a>:</h4>
<p>and everything fails</p>



<a name="129150901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129150901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129150901">(Jul 05 2018 at 17:15)</a>:</h4>
<p>hehe</p>



<a name="129151861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129151861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129151861">(Jul 05 2018 at 17:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> rustc::ty::query::__query_compute::borrowck calls the old borrowck</p>



<a name="129151864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129151864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129151864">(Jul 05 2018 at 17:34)</a>:</h4>
<p>investigating</p>



<a name="129151911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129151911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129151911">(Jul 05 2018 at 17:35)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> that is just the query wrapper -- who calls <em>that</em> ?</p>



<a name="129151982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129151982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129151982">(Jul 05 2018 at 17:36)</a>:</h4>
<p><code>   9:     0x7fbbeb5df69c - rustc::ty::query::&lt;impl rustc::ty::query::config::QueryAccessors&lt;'tcx&gt; for rustc::ty::query::queries::borrowck&lt;'tcx&gt;&gt;::compute::h79b1dcd73cb26cfd</code></p>



<a name="129152124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152124">(Jul 05 2018 at 17:38)</a>:</h4>
<p>I see</p>



<a name="129152130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152130">(Jul 05 2018 at 17:38)</a>:</h4>
<p>check_crate is the thing</p>



<a name="129152139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152139">(Jul 05 2018 at 17:38)</a>:</h4>
<div class="codehilite"><pre><span></span>pub fn check_crate&lt;&#39;a, &#39;tcx&gt;(tcx: TyCtxt&lt;&#39;a, &#39;tcx, &#39;tcx&gt;) {
    tcx.par_body_owners(|body_owner_def_id| {
        tcx.borrowck(body_owner_def_id);
    });
}
</pre></div>



<a name="129152153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152153">(Jul 05 2018 at 17:38)</a>:</h4>
<p>makes sense</p>



<a name="129152156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152156">(Jul 05 2018 at 17:38)</a>:</h4>
<p>we should also not call that :)</p>



<a name="129152166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152166">(Jul 05 2018 at 17:39)</a>:</h4>
<p>explain :)</p>



<a name="129152179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152179">(Jul 05 2018 at 17:39)</a>:</h4>
<p>what does this do?</p>



<a name="129152263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152263">(Jul 05 2018 at 17:40)</a>:</h4>
<p>it invokes borrowck on every function</p>



<a name="129152270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152270">(Jul 05 2018 at 17:40)</a>:</h4>
<p>that basically makes sure that borrowck is run</p>



<a name="129152278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152278">(Jul 05 2018 at 17:40)</a>:</h4>
<p>before compilation completes</p>



<a name="129152297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152297">(Jul 05 2018 at 17:40)</a>:</h4>
<p>why is called check_crate if it does that?</p>



<a name="129152322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152322">(Jul 05 2018 at 17:41)</a>:</h4>
<p>and why that's not relevant on mir mode?</p>



<a name="129152456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152456">(Jul 05 2018 at 17:43)</a>:</h4>
<blockquote>
<p>why is called check_crate if it does that?</p>
</blockquote>
<p>because that is what "check crate" means?</p>



<a name="129152459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152459">(Jul 05 2018 at 17:43)</a>:</h4>
<p>that is, it checks the whole crate</p>



<a name="129152463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152463">(Jul 05 2018 at 17:43)</a>:</h4>
<p>(which is done by checking all the functions in the crate)</p>



<a name="129152468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152468">(Jul 05 2018 at 17:43)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129152470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152470">(Jul 05 2018 at 17:43)</a>:</h4>
<blockquote>
<p>and why that's not relevant on mir mode?</p>
</blockquote>
<p>because it is running the AST borrowck</p>



<a name="129152475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152475">(Jul 05 2018 at 17:43)</a>:</h4>
<p>we have a similar function for MIR borrowck already I think</p>



<a name="129152482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152482">(Jul 05 2018 at 17:43)</a>:</h4>
<p>ahh ok ok</p>



<a name="129152533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152533">(Jul 05 2018 at 17:44)</a>:</h4>
<p>ok, we don't have a <em>function</em> but the code is inlined into the driver</p>
<div class="codehilite"><pre><span></span><span class="w">            </span><span class="n">time</span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"></span>
<span class="w">                 </span><span class="s">&quot;MIR borrow checking&quot;</span><span class="p">,</span><span class="w"></span>
<span class="w">                 </span><span class="o">||</span><span class="w"> </span><span class="n">tcx</span><span class="p">.</span><span class="n">par_body_owners</span><span class="p">(</span><span class="o">|</span><span class="n">def_id</span><span class="o">|</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">tcx</span><span class="p">.</span><span class="n">mir_borrowck</span><span class="p">(</span><span class="n">def_id</span><span class="p">);</span><span class="w"> </span><span class="p">}));</span><span class="w"></span>
</pre></div>



<a name="129152698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129152698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129152698">(Jul 05 2018 at 17:47)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129153565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153565">(Jul 05 2018 at 18:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> btw, shouldn't we do the same on ast mode?</p>



<a name="129153579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153579">(Jul 05 2018 at 18:02)</a>:</h4>
<p>I mean, avoid executing mir borrowck when mode=ast</p>



<a name="129153603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153603">(Jul 05 2018 at 18:03)</a>:</h4>
<p>mode=ast only ast borrowck<br>
mode=mir only mir borrowck<br>
mode=compare both<br>
mode=migrate both</p>



<a name="129153638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153638">(Jul 05 2018 at 18:03)</a>:</h4>
<p>probably. we already just "skip over" MIR borrowck in  that case though</p>



<a name="129153641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153641">(Jul 05 2018 at 18:03)</a>:</h4>
<p>I know is not that important but if someone for perf reasons meanwhile this thing is shaped or something want to avoid nll I guess it's possible to do that</p>



<a name="129153653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153653">(Jul 05 2018 at 18:03)</a>:</h4>
<p>but it'd probably be cleaner to never invoke the query to begin with, if it's easy to do</p>



<a name="129153724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153724">(Jul 05 2018 at 18:04)</a>:</h4>
<blockquote>
<p>but it'd probably be cleaner to never invoke the query to begin with, if it's easy to do</p>
</blockquote>
<p>explain the meaning of this, please :)</p>



<a name="129153735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153735">(Jul 05 2018 at 18:04)</a>:</h4>
<p>querys? how does the thing work more or less?</p>



<a name="129153753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153753">(Jul 05 2018 at 18:05)</a>:</h4>
<p>I guess what you mean but want more info</p>



<a name="129153760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153760">(Jul 05 2018 at 18:05)</a>:</h4>
<p>you probably meant that this is called several times and structures collected are memoized</p>



<a name="129153770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153770">(Jul 05 2018 at 18:05)</a>:</h4>
<p>so on different calls you will get memoized results</p>



<a name="129153810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153810">(Jul 05 2018 at 18:06)</a>:</h4>
<p>I guess what you're talking about is something like that (?)</p>



<a name="129153896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153896">(Jul 05 2018 at 18:07)</a>:</h4>
<p>I'm not sure what you want me to explain :)</p>



<a name="129153898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153898">(Jul 05 2018 at 18:07)</a>:</h4>
<p>there is a <code>mir_borrowck</code> query</p>



<a name="129153899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153899">(Jul 05 2018 at 18:07)</a>:</h4>
<p>it is invoked from a few places</p>



<a name="129153904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153904">(Jul 05 2018 at 18:07)</a>:</h4>
<p>right now, we <em>always</em> invoke the query, but sometimes it does nothing</p>



<a name="129153910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153910">(Jul 05 2018 at 18:07)</a>:</h4>
<p>we've been modifying the ast-borrowck so that the query is only invoked if it is needed</p>



<a name="129153916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153916">(Jul 05 2018 at 18:08)</a>:</h4>
<p>I don't think we <em>have</em> to do the same for MIR</p>



<a name="129153917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153917">(Jul 05 2018 at 18:08)</a>:</h4>
<p>but we could</p>



<a name="129153959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153959">(Jul 05 2018 at 18:08)</a>:</h4>
<p>the reason it was important for AST is because -- in the migration mode --</p>



<a name="129153966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153966">(Jul 05 2018 at 18:08)</a>:</h4>
<p>we want to be able to run the MIR and only run the AST borrowck <strong>for those functions that need it</strong></p>



<a name="129153971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153971">(Jul 05 2018 at 18:08)</a>:</h4>
<p>so if we are always invoking it on <strong>all functions</strong> (as we do now)</p>



<a name="129153973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153973">(Jul 05 2018 at 18:08)</a>:</h4>
<p>that won't work</p>



<a name="129153986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129153986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129153986">(Jul 05 2018 at 18:09)</a>:</h4>
<p>yeah, was just surprised that you called that a query :)</p>



<a name="129154045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154045">(Jul 05 2018 at 18:09)</a>:</h4>
<p>I guess there are reasons for that, that I don't see</p>



<a name="129154392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154392">(Jul 05 2018 at 18:15)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> <a href="https://rust-lang-nursery.github.io/rustc-guide/query.html" target="_blank" title="https://rust-lang-nursery.github.io/rustc-guide/query.html">https://rust-lang-nursery.github.io/rustc-guide/query.html</a></p>



<a name="129154398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154398">(Jul 05 2018 at 18:15)</a>:</h4>
<p>I mean a very specific thing by query</p>



<a name="129154547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154547">(Jul 05 2018 at 18:17)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I don't know why I never read the rustc-guide :(</p>



<a name="129154549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154549">(Jul 05 2018 at 18:17)</a>:</h4>
<p>it's in my todo list</p>



<a name="129154587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154587">(Jul 05 2018 at 18:18)</a>:</h4>
<p>it takes time :/</p>



<a name="129154596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154596">(Jul 05 2018 at 18:18)</a>:</h4>
<p>should I open a PR with just this?</p>



<a name="129154600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154600">(Jul 05 2018 at 18:18)</a>:</h4>
<p>or land all at once?</p>



<a name="129154601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154601">(Jul 05 2018 at 18:18)</a>:</h4>
<p>I would say yes</p>



<a name="129154605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154605">(Jul 05 2018 at 18:18)</a>:</h4>
<p>it may be a perf win :)</p>



<a name="129154610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154610">(Jul 05 2018 at 18:18)</a>:</h4>
<p>probably a small one</p>



<a name="129154633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154633">(Jul 05 2018 at 18:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <a href="https://github.com/rust-lang/rust/pull/52083" target="_blank" title="https://github.com/rust-lang/rust/pull/52083">https://github.com/rust-lang/rust/pull/52083</a></p>



<a name="129154638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154638">(Jul 05 2018 at 18:18)</a>:</h4>
<p>would this be small?</p>



<a name="129154641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154641">(Jul 05 2018 at 18:19)</a>:</h4>
<p>I thought it was going to be huge</p>



<a name="129154648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154648">(Jul 05 2018 at 18:19)</a>:</h4>
<p>I mean, skipping the whole AST borrowck ...</p>



<a name="129154791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154791">(Jul 05 2018 at 18:21)</a>:</h4>
<p>the AST borrowck is pretty fast :)</p>



<a name="129154813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154813">(Jul 05 2018 at 18:21)</a>:</h4>
<p>ok :)</p>



<a name="129154854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154854">(Jul 05 2018 at 18:22)</a>:</h4>
<p>btw, 2 stderr files changed in here <a href="https://github.com/rust-lang/rust/pull/52083" target="_blank" title="https://github.com/rust-lang/rust/pull/52083">https://github.com/rust-lang/rust/pull/52083</a></p>



<a name="129154858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154858">(Jul 05 2018 at 18:22)</a>:</h4>
<p>unsure why</p>



<a name="129154870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154870">(Jul 05 2018 at 18:22)</a>:</h4>
<p>changes doesn't have any semantic</p>



<a name="129154876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154876">(Jul 05 2018 at 18:22)</a>:</h4>
<p>just moved a couple of lines around</p>



<a name="129154881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154881">(Jul 05 2018 at 18:22)</a>:</h4>
<p>also seems better now :P</p>



<a name="129154886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154886">(Jul 05 2018 at 18:22)</a>:</h4>
<p>but unsure what made that happen</p>



<a name="129154915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154915">(Jul 05 2018 at 18:23)</a>:</h4>
<p>yeah, must be some change in evaluation order, seems ok</p>



<a name="129154919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129154919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129154919">(Jul 05 2018 at 18:23)</a>:</h4>
<p>I left one nit</p>



<a name="129155073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155073">(Jul 05 2018 at 18:25)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> actually what I did is wrong</p>



<a name="129155166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155166">(Jul 05 2018 at 18:26)</a>:</h4>
<p>that should be <code>assert!(tcx.use_ast_borrowck())</code></p>



<a name="129155179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155179">(Jul 05 2018 at 18:26)</a>:</h4>
<p>use_ast_borrowck() consider the match already</p>



<a name="129155185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155185">(Jul 05 2018 at 18:26)</a>:</h4>
<p>good point</p>



<a name="129155188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155188">(Jul 05 2018 at 18:26)</a>:</h4>
<p>and does the right thing</p>



<a name="129155192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155192">(Jul 05 2018 at 18:26)</a>:</h4>
<p>yes, seems better</p>



<a name="129155243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155243">(Jul 05 2018 at 18:27)</a>:</h4>
<p>so .. now</p>



<a name="129155252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155252">(Jul 05 2018 at 18:27)</a>:</h4>
<p>how to tackle the migrate thing?</p>



<a name="129155330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155330">(Jul 05 2018 at 18:28)</a>:</h4>
<p>hmm ok so</p>



<a name="129155343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155343">(Jul 05 2018 at 18:29)</a>:</h4>
<p>one first step might be</p>



<a name="129155346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155346">(Jul 05 2018 at 18:29)</a>:</h4>
<p>to modify the MIR borrowck</p>



<a name="129155348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155348">(Jul 05 2018 at 18:29)</a>:</h4>
<p>so that instead of emitting the errors right away</p>



<a name="129155352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155352">(Jul 05 2018 at 18:29)</a>:</h4>
<p>it buffers them up (per function)</p>



<a name="129155354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155354">(Jul 05 2018 at 18:29)</a>:</h4>
<p>and then emits them at the end</p>



<a name="129155366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155366">(Jul 05 2018 at 18:29)</a>:</h4>
<p>though I suppose that isn't .. <em>strictly</em> needed</p>



<a name="129155375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155375">(Jul 05 2018 at 18:29)</a>:</h4>
<p>I could see two ways of going about things</p>



<a name="129155380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155380">(Jul 05 2018 at 18:29)</a>:</h4>
<p>in one version, we buffer up the errors</p>



<a name="129155420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155420">(Jul 05 2018 at 18:30)</a>:</h4>
<p>and then if that buffer is non-empty, we run the AST borrowck</p>



<a name="129155432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155432">(Jul 05 2018 at 18:30)</a>:</h4>
<p>and if it comes back with errors</p>



<a name="129155436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155436">(Jul 05 2018 at 18:30)</a>:</h4>
<p>(which we suppress)</p>



<a name="129155445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155445">(Jul 05 2018 at 18:30)</a>:</h4>
<p>then we emit the errors from the buffer</p>



<a name="129155449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155449">(Jul 05 2018 at 18:30)</a>:</h4>
<p>else we go back over them</p>



<a name="129155453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155453">(Jul 05 2018 at 18:30)</a>:</h4>
<p>and convert them to warnings</p>



<a name="129155455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155455">(Jul 05 2018 at 18:30)</a>:</h4>
<p>and emit them</p>



<a name="129155457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155457">(Jul 05 2018 at 18:30)</a>:</h4>
<p>another way to do it though</p>



<a name="129155465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155465">(Jul 05 2018 at 18:30)</a>:</h4>
<p>would be that when we are about to emit an error</p>



<a name="129155471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155471">(Jul 05 2018 at 18:30)</a>:</h4>
<p>we run the AST borrowck just as before</p>



<a name="129155490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155490">(Jul 05 2018 at 18:31)</a>:</h4>
<p>and convert that pending error to a warning if the AST borrowck gets no errors</p>



<a name="129155495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155495">(Jul 05 2018 at 18:31)</a>:</h4>
<p>point is, we don't buffer, we just invoke the AST borrowck <strong>for each error</strong> as we are emitting it</p>



<a name="129155496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155496">(Jul 05 2018 at 18:31)</a>:</h4>
<p>since it is memoized</p>



<a name="129155498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155498">(Jul 05 2018 at 18:31)</a>:</h4>
<p>that won't really cost anything</p>



<a name="129155506"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155506" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155506">(Jul 05 2018 at 18:31)</a>:</h4>
<p>I guess either way the <strong>very first</strong> step is to add a Migrate mode</p>



<a name="129155507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155507">(Jul 05 2018 at 18:31)</a>:</h4>
<p>and to modify the AST borrowck</p>



<a name="129155517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155517">(Jul 05 2018 at 18:31)</a>:</h4>
<p>er, wait</p>



<a name="129155520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155520">(Jul 05 2018 at 18:31)</a>:</h4>
<p>well, yes</p>



<a name="129155525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155525">(Jul 05 2018 at 18:31)</a>:</h4>
<p>and modify the AST borrowck so that it includes a boolean flag</p>



<a name="129155529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155529">(Jul 05 2018 at 18:31)</a>:</h4>
<p>indicating whether any errors occurred</p>



<a name="129155575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155575">(Jul 05 2018 at 18:32)</a>:</h4>
<p>actually maybe <em>just</em> add that flag :)</p>



<a name="129155577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155577">(Jul 05 2018 at 18:32)</a>:</h4>
<p>that's at least an initial commit</p>



<a name="129155581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155581">(Jul 05 2018 at 18:32)</a>:</h4>
<p>make sense?</p>



<a name="129155895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129155895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129155895">(Jul 05 2018 at 18:36)</a>:</h4>
<p>brewing coffee <span class="emoji emoji-1f603" title="smiley">:smiley:</span>, as soon as I have my <span class="emoji emoji-2615" title="coffee">:coffee:</span>️ will check this</p>



<a name="129156090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129156090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129156090">(Jul 05 2018 at 18:40)</a>:</h4>
<p>I would never come between a person and their <span class="emoji emoji-2615" title="coffee">:coffee:</span></p>



<a name="129157963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129157963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129157963">(Jul 05 2018 at 19:09)</a>:</h4>
<p>and it's also cold here, so I needed something hot to warm myself a bit :)</p>



<a name="129158949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158949">(Jul 05 2018 at 19:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> back, so read it and the reasoning makes sense</p>



<a name="129158959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158959">(Jul 05 2018 at 19:27)</a>:</h4>
<p>didn't understand 100% the steps</p>



<a name="129158961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158961">(Jul 05 2018 at 19:27)</a>:</h4>
<p>but first of all</p>



<a name="129158962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158962">(Jul 05 2018 at 19:27)</a>:</h4>
<p>I think I would go for the non-buffering version</p>



<a name="129158963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158963">(Jul 05 2018 at 19:27)</a>:</h4>
<p>seems easier</p>



<a name="129158967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158967">(Jul 05 2018 at 19:27)</a>:</h4>
<p>ahh ok, I was going to ask that</p>



<a name="129158975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158975">(Jul 05 2018 at 19:27)</a>:</h4>
<p>I was going to go with the buffered version :P</p>



<a name="129158985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129158985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129158985">(Jul 05 2018 at 19:27)</a>:</h4>
<p>yeah seems easier, but doesn't seem better</p>



<a name="129159031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159031">(Jul 05 2018 at 19:28)</a>:</h4>
<p>to me the first approach seems cleaner</p>



<a name="129159047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159047">(Jul 05 2018 at 19:28)</a>:</h4>
<p>I don't have a strong opinion =) I'd be ok w/ buffering</p>



<a name="129159050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159050">(Jul 05 2018 at 19:28)</a>:</h4>
<p>anyway I can go with the non-buffering and we could revisit at some point</p>



<a name="129159051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159051">(Jul 05 2018 at 19:28)</a>:</h4>
<p>I see some advantages to that too</p>



<a name="129159055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159055">(Jul 05 2018 at 19:28)</a>:</h4>
<p>in particular, we might be able to combine errors later on</p>



<a name="129159061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159061">(Jul 05 2018 at 19:28)</a>:</h4>
<p>so maybe it's a useful refactoring</p>



<a name="129159062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159062">(Jul 05 2018 at 19:28)</a>:</h4>
<p>yeah</p>



<a name="129159065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159065">(Jul 05 2018 at 19:28)</a>:</h4>
<p>down the road</p>



<a name="129159074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159074">(Jul 05 2018 at 19:29)</a>:</h4>
<p>might also be helpful for supressing duplicates etc</p>



<a name="129159079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159079">(Jul 05 2018 at 19:29)</a>:</h4>
<p>unsure how much do we need to change</p>



<a name="129159091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159091">(Jul 05 2018 at 19:29)</a>:</h4>
<p>:P</p>



<a name="129159092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159092">(Jul 05 2018 at 19:29)</a>:</h4>
<p>probably not very much</p>



<a name="129159101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159101">(Jul 05 2018 at 19:29)</a>:</h4>
<p>ok, let's do it then :)</p>



<a name="129159103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159103">(Jul 05 2018 at 19:29)</a>:</h4>
<p>but I have to look</p>



<a name="129159115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159115">(Jul 05 2018 at 19:29)</a>:</h4>
<p>let me ask you some questions because I have no idea of things, hehe :P</p>



<a name="129159118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159118">(Jul 05 2018 at 19:30)</a>:</h4>
<p>we already have these <code>DiagnosticBuilder&lt;'_&gt;</code> things that represent messages</p>



<a name="129159171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159171">(Jul 05 2018 at 19:30)</a>:</h4>
<p>I mean, what needs to be done is completely clear</p>



<a name="129159174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159174">(Jul 05 2018 at 19:30)</a>:</h4>
<p>the thing is where are the things</p>



<a name="129159180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159180">(Jul 05 2018 at 19:30)</a>:</h4>
<p>where stuff is happening</p>



<a name="129159181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159181">(Jul 05 2018 at 19:30)</a>:</h4>
<p>etc</p>



<a name="129159184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159184">(Jul 05 2018 at 19:30)</a>:</h4>
<p>so ...</p>



<a name="129159190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159190">(Jul 05 2018 at 19:30)</a>:</h4>
<p>probably the <em>very first</em> step</p>



<a name="129159194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159194">(Jul 05 2018 at 19:30)</a>:</h4>
<p>is modifying the AST borrowck</p>



<a name="129159200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159200">(Jul 05 2018 at 19:30)</a>:</h4>
<p>to record whether it had any errors</p>



<a name="129159202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159202">(Jul 05 2018 at 19:30)</a>:</h4>
<p>which is I think just a few lines :)</p>



<a name="129159209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159209">(Jul 05 2018 at 19:31)</a>:</h4>
<p>basically adding a <code>error_count: Cell&lt;usize&gt;</code> and having that method do <code>error_count.set(error_count.get() + 1)</code></p>



<a name="129159223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159223">(Jul 05 2018 at 19:31)</a>:</h4>
<p>yep</p>



<a name="129159226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159226">(Jul 05 2018 at 19:31)</a>:</h4>
<p>I've code like that already stashed</p>



<a name="129159230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159230">(Jul 05 2018 at 19:31)</a>:</h4>
<p>ok</p>



<a name="129159231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159231">(Jul 05 2018 at 19:31)</a>:</h4>
<p>in that case the next thing I would imagine is to setup the buffering</p>



<a name="129159234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159234">(Jul 05 2018 at 19:31)</a>:</h4>
<p>without changing existing behavior</p>



<a name="129159240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159240">(Jul 05 2018 at 19:32)</a>:</h4>
<p>in the MIR borrow check I mean</p>



<a name="129159283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159283">(Jul 05 2018 at 19:32)</a>:</h4>
<p>yeah yeah</p>



<a name="129159289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159289">(Jul 05 2018 at 19:32)</a>:</h4>
<p>the buffering happens there, yeah</p>



<a name="129159298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159298">(Jul 05 2018 at 19:32)</a>:</h4>
<p>the thing is ... where are currently stored errors?</p>



<a name="129159307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159307">(Jul 05 2018 at 19:32)</a>:</h4>
<p>through diagnostic(s)?</p>



<a name="129159998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129159998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129159998">(Jul 05 2018 at 19:46)</a>:</h4>
<p>we don't store errors today</p>



<a name="129160009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160009">(Jul 05 2018 at 19:46)</a>:</h4>
<p>we emit them and forget about them</p>



<a name="129160033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160033">(Jul 05 2018 at 19:47)</a>:</h4>
<p>ok, so I should make emit not emit and store them?</p>



<a name="129160038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160038">(Jul 05 2018 at 19:47)</a>:</h4>
<p>and change emit name to store :P</p>



<a name="129160040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160040">(Jul 05 2018 at 19:47)</a>:</h4>
<p>or something</p>



<a name="129160046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160046">(Jul 05 2018 at 19:47)</a>:</h4>
<p>and then search for a place very late in the process to call a real emit thing</p>



<a name="129160239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160239">(Jul 05 2018 at 19:51)</a>:</h4>
<p>if you want to buffer them, they need to be put into a vector</p>



<a name="129160248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160248">(Jul 05 2018 at 19:51)</a>:</h4>
<p>and then at the end we would iterate over and invoke <code>emit()</code></p>



<a name="129160435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160435">(Jul 05 2018 at 19:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> here is an <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L179-L199" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L179-L199">example of the code</a></p>



<a name="129160449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160449">(Jul 05 2018 at 19:54)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L186" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L186">we create the error here</a></p>



<a name="129160460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160460">(Jul 05 2018 at 19:55)</a>:</h4>
<p>and <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L198" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L198">emit here</a></p>



<a name="129160477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160477">(Jul 05 2018 at 19:55)</a>:</h4>
<p>so we could hold off on that final call to <code>emit()</code></p>



<a name="129160571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160571">(Jul 05 2018 at 19:56)</a>:</h4>
<p>they ought to have the type <code>DiagnosticBuilder&lt;'cx&gt;</code></p>



<a name="129160752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129160752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129160752">(Jul 05 2018 at 19:59)</a>:</h4>
<p>ok will check all this in a bit</p>



<a name="129170295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129170295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129170295">(Jul 05 2018 at 23:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> looks like a <a href="https://perf.rust-lang.org/compare.html?start=94eb1760551096363ec04e42367b6b195592dbd8&amp;end=b27d9cfa4975b93430620cf0b8afc21d4a169fee" target="_blank" title="https://perf.rust-lang.org/compare.html?start=94eb1760551096363ec04e42367b6b195592dbd8&amp;end=b27d9cfa4975b93430620cf0b8afc21d4a169fee">decent perf win</a> from your PR :)</p>



<a name="129221638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221638">(Jul 06 2018 at 20:03)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> tackling this now</p>



<a name="129221641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221641">(Jul 06 2018 at 20:03)</a>:</h4>
<p>so ...</p>



<a name="129221648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221648">(Jul 06 2018 at 20:03)</a>:</h4>
<p>I understood your comment about this code <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L179-L199" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L179-L199">https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/error_reporting.rs#L179-L199</a></p>



<a name="129221652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221652">(Jul 06 2018 at 20:03)</a>:</h4>
<p>basically, I should put the err on a buffer</p>



<a name="129221657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221657">(Jul 06 2018 at 20:03)</a>:</h4>
<p>and remove the emit</p>



<a name="129221662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221662">(Jul 06 2018 at 20:04)</a>:</h4>
<p>my question is ... when is that last moment in time where I should emit?</p>



<a name="129221708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221708">(Jul 06 2018 at 20:04)</a>:</h4>
<p>like, when do you iterate over that buffer?</p>



<a name="129221719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221719">(Jul 06 2018 at 20:04)</a>:</h4>
<p>yes</p>



<a name="129221730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221730">(Jul 06 2018 at 20:04)</a>:</h4>
<p>at some point I should iterate and call emit over all the errs</p>



<a name="129221739"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221739" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221739">(Jul 06 2018 at 20:05)</a>:</h4>
<p>but when is a good moment to do that</p>



<a name="129221747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221747">(Jul 06 2018 at 20:05)</a>:</h4>
<p>somewhere around <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/mod.rs#L322" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/mod.rs#L322">the end of <code>do_mir_borrowck</code></a>, I guess</p>



<a name="129221760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221760">(Jul 06 2018 at 20:05)</a>:</h4>
<p>ok</p>



<a name="129221772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221772">(Jul 06 2018 at 20:05)</a>:</h4>
<p>also ... you wanted me to split this in some way? or just do all at once?</p>



<a name="129221777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221777">(Jul 06 2018 at 20:05)</a>:</h4>
<p>split what?</p>



<a name="129221779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221779">(Jul 06 2018 at 20:05)</a>:</h4>
<p>oh</p>



<a name="129221784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221784">(Jul 06 2018 at 20:05)</a>:</h4>
<p>I meant, I remember you talking about the option on one side</p>



<a name="129221822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221822">(Jul 06 2018 at 20:06)</a>:</h4>
<p>I'd probably do a "buffer" step that doesn't change anything else</p>



<a name="129221823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221823">(Jul 06 2018 at 20:06)</a>:</h4>
<p>and this thing on the other side</p>



<a name="129221832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221832">(Jul 06 2018 at 20:06)</a>:</h4>
<p>ok</p>



<a name="129221833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221833">(Jul 06 2018 at 20:06)</a>:</h4>
<p>well we were discussing whether to buffer or not</p>



<a name="129221864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221864">(Jul 06 2018 at 20:06)</a>:</h4>
<p>I think the "commits" (maybe PRs?) are:</p>
<ul>
<li>modify MIR borrowck to buffer up errors</li>
<li>add a flag to AST borowck so that it indicates whether it got errors or not in the result of its query (without necessarily emitting them)</li>
<li>combine those two?</li>
</ul>



<a name="129221902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129221902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129221902">(Jul 06 2018 at 20:07)</a>:</h4>
<p>ok</p>



<a name="129224868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129224868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129224868">(Jul 06 2018 at 21:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> all the errors of mir borrowck are the ones reported in src/librustc_mir</p>



<a name="129224876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129224876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129224876">(Jul 06 2018 at 21:01)</a>:</h4>
<p>I was looking for <code>rg "emit\(" src/librustc_mir</code> to start</p>



<a name="129224937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129224937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129224937">(Jul 06 2018 at 21:02)</a>:</h4>
<p>but unsure if all the stuff there is what's needed, investigating ...</p>



<a name="129224969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129224969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129224969">(Jul 06 2018 at 21:03)</a>:</h4>
<p>for instance ...</p>



<a name="129224970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129224970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129224970">(Jul 06 2018 at 21:03)</a>:</h4>
<p>what about <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278">https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278</a> ?</p>



<a name="129225298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129225298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129225298">(Jul 06 2018 at 21:09)</a>:</h4>
<blockquote>
<p>all the errors of mir borrowck are the ones reported in src/librustc_mir</p>
</blockquote>
<p>I believe so, yes</p>



<a name="129225308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129225308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129225308">(Jul 06 2018 at 21:09)</a>:</h4>
<blockquote>
<p>what about <a href="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278" target="_blank" title="https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278">https://github.com/rust-lang/rust/blob/94eb1760551096363ec04e42367b6b195592dbd8/src/librustc_mir/borrow_check/move_errors.rs#L278</a> ?</p>
</blockquote>
<p>that is also a borrowck error, yes</p>



<a name="129225594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129225594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129225594">(Jul 06 2018 at 21:15)</a>:</h4>
<p>there's a lot of stuff</p>



<a name="129225637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129225637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129225637">(Jul 06 2018 at 21:16)</a>:</h4>
<p>there's no borrowckctxt there, though</p>



<a name="129225656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129225656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129225656">(Jul 06 2018 at 21:17)</a>:</h4>
<p>I have the <code>MoveErrorCtxt</code></p>



<a name="129226333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129226333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129226333">(Jul 06 2018 at 21:31)</a>:</h4>
<p>it's called from <code>report_move_errors</code> — maybe pass in an <code>&amp;mut Vec</code> there or something</p>



<a name="129228612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228612">(Jul 06 2018 at 22:13)</a>:</h4>
<p>yes, I can pass stuff around but when this kind of stuff happens it starts to feel hacky to me</p>



<a name="129228615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228615">(Jul 06 2018 at 22:13)</a>:</h4>
<p>but if you say it's good it's good :)</p>



<a name="129228684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228684">(Jul 06 2018 at 22:14)</a>:</h4>
<p>shouldn't most of these functions have also a more general purpose context?</p>



<a name="129228696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228696">(Jul 06 2018 at 22:14)</a>:</h4>
<p>I mean, besides from this particular context</p>



<a name="129228789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228789">(Jul 06 2018 at 22:16)</a>:</h4>
<p>I still don't know all the contexts that are around and their connections but in lot of cases happened something like this and we kept adding parameters to functions</p>



<a name="129228799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228799">(Jul 06 2018 at 22:16)</a>:</h4>
<p>maybe if all the functions receive some kind of compilation context or something kind of general</p>



<a name="129228801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129228801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129228801">(Jul 06 2018 at 22:17)</a>:</h4>
<p>unsure ...</p>



<a name="129229578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129229578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129229578">(Jul 06 2018 at 22:34)</a>:</h4>
<p>I don't know, both have their appeal. A "master context" means everything is less independent</p>



<a name="129229583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129229583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129229583">(Jul 06 2018 at 22:34)</a>:</h4>
<p>but in any case there is no such context at present</p>



<a name="129229588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129229588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129229588">(Jul 06 2018 at 22:34)</a>:</h4>
<p>you could also make the <code>MoveData</code> accumulate errors into an internal vector</p>



<a name="129229589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129229589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129229589">(Jul 06 2018 at 22:34)</a>:</h4>
<p>and then just return that vector</p>



<a name="129248666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129248666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129248666">(Jul 07 2018 at 08:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> I'm planning to change to a mir borrowck context for move errors.</p>



<a name="129261492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129261492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129261492">(Jul 07 2018 at 15:39)</a>:</h4>
<p>cool, I guess in this issue I'm going to pass stuff around</p>



<a name="129261539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129261539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129261539">(Jul 07 2018 at 15:40)</a>:</h4>
<p>then I guess we can move that inside the context when you add that context</p>



<a name="129551812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551812">(Jul 12 2018 at 18:04)</a>:</h4>
<p>hi <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="129551821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551821">(Jul 12 2018 at 18:05)</a>:</h4>
<p>hi</p>



<a name="129551822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551822">(Jul 12 2018 at 18:05)</a>:</h4>
<p>I assume a text-based chat in here is good</p>



<a name="129551832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551832">(Jul 12 2018 at 18:05)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129551856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551856">(Jul 12 2018 at 18:05)</a>:</h4>
<p>so, I haven't attempted to look at your branch</p>



<a name="129551864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551864">(Jul 12 2018 at 18:05)</a>:</h4>
<p>so ... I was lacking a bit of time so I didn't make a lot of progress</p>



<a name="129551869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551869">(Jul 12 2018 at 18:05)</a>:</h4>
<p>(assuming its still the same branch as the one you shared)</p>



<a name="129551877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551877">(Jul 12 2018 at 18:05)</a>:</h4>
<p>yes</p>



<a name="129551919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551919">(Jul 12 2018 at 18:06)</a>:</h4>
<p>okay. Lets just talk about where you are and where you want to go</p>



<a name="129551924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551924">(Jul 12 2018 at 18:06)</a>:</h4>
<p>current status is ...</p>



<a name="129551951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551951">(Jul 12 2018 at 18:06)</a>:</h4>
<p>well basically the idea we discussed with Niko was ...</p>



<a name="129551954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551954">(Jul 12 2018 at 18:06)</a>:</h4>
<div class="codehilite"><pre><span></span>- modify MIR borrowck to buffer up errors
- add a flag to AST borowck so that it indicates whether it got errors or not in the result of its query (without necessarily emitting them)
- combine those two?
</pre></div>



<a name="129551964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551964">(Jul 12 2018 at 18:06)</a>:</h4>
<p>I was modifying the MIR borrowck to buffer up errors</p>



<a name="129551972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551972">(Jul 12 2018 at 18:06)</a>:</h4>
<p>have made that in a couple of places</p>



<a name="129551977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551977">(Jul 12 2018 at 18:06)</a>:</h4>
<p>there's still some cases missing</p>



<a name="129551989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129551989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129551989">(Jul 12 2018 at 18:07)</a>:</h4>
<p>which I haven't looked at the code to see how hard it could be</p>



<a name="129552007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552007">(Jul 12 2018 at 18:07)</a>:</h4>
<p>okay</p>



<a name="129552012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552012">(Jul 12 2018 at 18:07)</a>:</h4>
<p>mainly may lack the context in some specific areas</p>



<a name="129552023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552023">(Jul 12 2018 at 18:07)</a>:</h4>
<p>I think after this, the rest should be easy</p>



<a name="129552026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552026">(Jul 12 2018 at 18:07)</a>:</h4>
<p>and this may also be easy :P</p>



<a name="129552033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552033">(Jul 12 2018 at 18:07)</a>:</h4>
<p>haven't checked properly yet</p>



<a name="129552075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552075">(Jul 12 2018 at 18:08)</a>:</h4>
<div class="codehilite"><pre><span></span>[santiago@archlinux rust1 (z-borrowck-migrate)]$ rg &quot;\.emit\(\)&quot; src/librustc_mir
src/librustc_mir/monomorphize/collector.rs
514:        diag.emit();

src/librustc_mir/transform/qualify_consts.rs
178:            err.emit();
198:            err.emit();
485:                    err.emit()
516:                                    err.emit();
666:                            err.emit();
763:                            err.emit();
786:                        .emit();
805:                    err.emit();
936:                            err.emit();
963:                    err.emit();
1005:                            .emit();
1058:                    err.emit();

src/librustc_mir/transform/check_unsafety.rs
432:    db.emit();
475:                    .emit();

src/librustc_mir/borrow_check/mod.rs
294:        err.emit();
327:                .emit();
1365:                .emit();
1883:        err.emit();

src/librustc_mir/borrow_check/nll/mod.rs
342:        err.emit();
349:        err.emit();

src/librustc_mir/hair/pattern/mod.rs
391:                                err.emit();

src/librustc_mir/hair/pattern/check_match.rs
146:                    ).emit();
152:                    ).emit();
241:                    err.emit();
304:            diag.emit();
333:                        err.emit();
390:                                        .emit();
421:                                            .emit();
441:                            err.emit();
503:                .emit();
537:                .emit();
542:                .emit();
548:                    .emit();
606:                    .emit();
617:                    .emit();
648:                        .emit();

src/librustc_mir/borrow_check/nll/region_infer/error_reporting/mod.rs
257:        diag.emit();
</pre></div>



<a name="129552079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552079">(Jul 12 2018 at 18:08)</a>:</h4>
<p>is your latest status pushed to your repo up on github?</p>



<a name="129552085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552085">(Jul 12 2018 at 18:08)</a>:</h4>
<p>this ^^^ may show more or less the places where I need to change emit calls and buffer the stuff</p>



<a name="129552092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552092">(Jul 12 2018 at 18:08)</a>:</h4>
<blockquote>
<p>is your latest status pushed to your repo up on github?</p>
</blockquote>
<p>yes</p>



<a name="129552101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552101">(Jul 12 2018 at 18:09)</a>:</h4>
<p>I'm going to continue now or in a few minutes with the task</p>



<a name="129552111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552111">(Jul 12 2018 at 18:09)</a>:</h4>
<p>I'm not sure if you have any particular suggestion</p>



<a name="129552118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552118">(Jul 12 2018 at 18:09)</a>:</h4>
<p>well let me quickly look</p>



<a name="129552136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552136">(Jul 12 2018 at 18:09)</a>:</h4>
<p>the main thing I wanted to immediate check in about</p>



<a name="129552141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552141">(Jul 12 2018 at 18:09)</a>:</h4>
<p>was about that idea we had discussed</p>



<a name="129552216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552216">(Jul 12 2018 at 18:10)</a>:</h4>
<p>about trying to make the replacement for the <code>emit()</code> calls look ... well, look something much like "just another method call" (but on a different receiving object)</p>



<a name="129552242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552242">(Jul 12 2018 at 18:11)</a>:</h4>
<p>yes, you talked about changing emit to signal</p>



<a name="129552253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552253">(Jul 12 2018 at 18:11)</a>:</h4>
<p>The name didn't matter</p>



<a name="129552256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552256">(Jul 12 2018 at 18:11)</a>:</h4>
<p>which may emit or may buffer depending on some setting</p>



<a name="129552264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552264">(Jul 12 2018 at 18:11)</a>:</h4>
<p>I'd be fine with <code>receiver.eventually_emit(..)</code></p>



<a name="129552272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552272">(Jul 12 2018 at 18:11)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129552273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552273">(Jul 12 2018 at 18:11)</a>:</h4>
<p>I liked signal :P</p>



<a name="129552281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552281">(Jul 12 2018 at 18:11)</a>:</h4>
<p>well unsure if it's the best name ...</p>



<a name="129552285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552285">(Jul 12 2018 at 18:11)</a>:</h4>
<p>whatever you prefer</p>



<a name="129552289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552289">(Jul 12 2018 at 18:11)</a>:</h4>
<p>signal is also fine; it just may not be a meaningful difference to some people</p>



<a name="129552341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552341">(Jul 12 2018 at 18:12)</a>:</h4>
<p>I see "eventually emit" as trying to express the idea that this <em>might be</em> delayed</p>



<a name="129552342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552342">(Jul 12 2018 at 18:12)</a>:</h4>
<p>can't discuss names, english is not my best ability :')</p>



<a name="129552349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552349">(Jul 12 2018 at 18:12)</a>:</h4>
<p>ok, eventually_emit then :)</p>



<a name="129552355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552355">(Jul 12 2018 at 18:12)</a>:</h4>
<p>you convinced me quickly</p>



<a name="129552361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552361">(Jul 12 2018 at 18:12)</a>:</h4>
<p>okay I see, you really are just doing <code>self.errors_buffer.push(err)</code>. Well, if that works then it should be easy to change it later</p>



<a name="129552367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552367">(Jul 12 2018 at 18:12)</a>:</h4>
<p>its up to you.</p>



<a name="129552382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552382">(Jul 12 2018 at 18:13)</a>:</h4>
<p>so ... what if I just go ahead ... was going to say exactly that</p>



<a name="129552396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552396">(Jul 12 2018 at 18:13)</a>:</h4>
<p>I think it would be easier to continue and leave that to another PR or same PR another commit</p>



<a name="129552405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552405">(Jul 12 2018 at 18:13)</a>:</h4>
<p>(deleted)</p>



<a name="129552452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552452">(Jul 12 2018 at 18:14)</a>:</h4>
<p>/me is still getting used to Zulip idioms</p>



<a name="129552481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552481">(Jul 12 2018 at 18:14)</a>:</h4>
<p>Okay from what I see in your branch, this looks good to me</p>



<a name="129552489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552489">(Jul 12 2018 at 18:14)</a>:</h4>
<p>hehe, I probably didn't get used yet :P</p>



<a name="129552504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552504">(Jul 12 2018 at 18:15)</a>:</h4>
<p>ok, so ... I can just start to look around and in any case ask questions</p>



<a name="129552521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552521">(Jul 12 2018 at 18:15)</a>:</h4>
<p>Ah</p>



<a name="129552542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552542">(Jul 12 2018 at 18:15)</a>:</h4>
<p>I remember why you might want to do it as <code>eventually_emit</code> (or <code>signal</code> etc), now</p>



<a name="129552622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552622">(Jul 12 2018 at 18:16)</a>:</h4>
<p>if you do it as <code>recv.eventually_emit(..)</code> now, then you can truly retain the old "immediately emit" behavior by default and put the new behavior under a debugflag</p>



<a name="129552631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552631">(Jul 12 2018 at 18:16)</a>:</h4>
<p>that in turn will mean that you should be able to run the compiler test suite out of the box</p>



<a name="129552710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552710">(Jul 12 2018 at 18:17)</a>:</h4>
<p>Putting in buffering and buffering alone, via the <code>ctxt.errors_buffer.push(..)</code> style, will <em>force</em> you to actually figure out how to get those errors emitted</p>



<a name="129552718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552718">(Jul 12 2018 at 18:17)</a>:</h4>
<p>I see :)</p>



<a name="129552734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552734">(Jul 12 2018 at 18:17)</a>:</h4>
<p>and either you'll figure out how to emit them in exactly the same way that they get emitted today</p>



<a name="129552744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552744">(Jul 12 2018 at 18:17)</a>:</h4>
<p>(which means all the tests will immediately pass)</p>



<a name="129552748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552748">(Jul 12 2018 at 18:17)</a>:</h4>
<p>anyway, right now the changes are just buffer to call emit at the end</p>



<a name="129552799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552799">(Jul 12 2018 at 18:18)</a>:</h4>
<p>or you'll have some changes in your output (even if its just in the order that errors are emitted)</p>



<a name="129552801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552801">(Jul 12 2018 at 18:18)</a>:</h4>
<p>there's nothing changed</p>



<a name="129552812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552812">(Jul 12 2018 at 18:18)</a>:</h4>
<p>and you'll then have to verify that those changes are correct</p>



<a name="129552835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552835">(Jul 12 2018 at 18:18)</a>:</h4>
<p>You sound quite confident that there won't be any visible effect</p>



<a name="129552840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552840">(Jul 12 2018 at 18:18)</a>:</h4>
<blockquote>
<p>or you'll have some changes in your output (even if its just in the order that errors are emitted)</p>
</blockquote>
<p>the order should be the same, I'm doing FIFO</p>



<a name="129552854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552854">(Jul 12 2018 at 18:19)</a>:</h4>
<p>I was under the impression that you didn't have anything building and thus nothing running yet</p>



<a name="129552863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552863">(Jul 12 2018 at 18:19)</a>:</h4>
<blockquote>
<p>You sound quite confident that there won't be any visible effect</p>
</blockquote>
<p>hehe, I'm never that confident :P</p>



<a name="129552873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552873">(Jul 12 2018 at 18:19)</a>:</h4>
<p>(and I've learned to not be quite so confident in such scenarios)</p>



<a name="129552882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552882">(Jul 12 2018 at 18:19)</a>:</h4>
<p>yeah</p>



<a name="129552884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552884">(Jul 12 2018 at 18:19)</a>:</h4>
<p>agree on that</p>



<a name="129552890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552890">(Jul 12 2018 at 18:19)</a>:</h4>
<p>but okay, yes I agree that FIFO order means that you shoudn't observer any change</p>



<a name="129552911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552911">(Jul 12 2018 at 18:19)</a>:</h4>
<p>anyway, let's see</p>



<a name="129552915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552915">(Jul 12 2018 at 18:20)</a>:</h4>
<p>I will impact your changes for sure</p>



<a name="129552964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552964">(Jul 12 2018 at 18:20)</a>:</h4>
<p>the main thing is that I don't want to delay this stuff</p>



<a name="129552966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552966">(Jul 12 2018 at 18:20)</a>:</h4>
<p>which of my changes do you mean?</p>



<a name="129552974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552974">(Jul 12 2018 at 18:20)</a>:</h4>
<p>like changes to diagnostics?</p>



<a name="129552976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552976">(Jul 12 2018 at 18:20)</a>:</h4>
<p>the eventually_emit idea</p>



<a name="129552979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552979">(Jul 12 2018 at 18:20)</a>:</h4>
<p>oh oh h</p>



<a name="129552991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552991">(Jul 12 2018 at 18:20)</a>:</h4>
<p>sooner or later I will do</p>



<a name="129552999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129552999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129552999">(Jul 12 2018 at 18:20)</a>:</h4>
<p>let me see what actually happens in code</p>



<a name="129553011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553011">(Jul 12 2018 at 18:21)</a>:</h4>
<p>one might even say that you will "eventually_incorporate" them...</p>



<a name="129553026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553026">(Jul 12 2018 at 18:21)</a>:</h4>
<p>hehe :D</p>



<a name="129553043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553043">(Jul 12 2018 at 18:21)</a>:</h4>
<p>okay great. the only other thing I would potentially want to discuss is what to do <em>after</em> this task is done</p>



<a name="129553046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553046">(Jul 12 2018 at 18:21)</a>:</h4>
<p>but I think the right strategy</p>



<a name="129553051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553051">(Jul 12 2018 at 18:21)</a>:</h4>
<p>will probably be to finish <em>this task</em></p>



<a name="129553054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553054">(Jul 12 2018 at 18:21)</a>:</h4>
<p>yes</p>



<a name="129553056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553056">(Jul 12 2018 at 18:21)</a>:</h4>
<p>and get it landed in the github repo</p>



<a name="129553096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553096">(Jul 12 2018 at 18:22)</a>:</h4>
<p>agreed</p>



<a name="129553100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553100">(Jul 12 2018 at 18:22)</a>:</h4>
<p>the remaining work I expect will be much less effort</p>



<a name="129553104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553104">(Jul 12 2018 at 18:22)</a>:</h4>
<p>I was thinking about jumping into perf stuff</p>



<a name="129553121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553121">(Jul 12 2018 at 18:22)</a>:</h4>
<p>but you have more idea than I about what's more important</p>



<a name="129553123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553123">(Jul 12 2018 at 18:22)</a>:</h4>
<p>great then I don't think there's much else we need to talk about. You can focus on finishing this up and I can go back to looking at the unrelated NLL diagnostic thing I was playing with today.</p>



<a name="129553127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553127">(Jul 12 2018 at 18:22)</a>:</h4>
<p>Oh, the perf stuff is very important</p>



<a name="129553138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553138">(Jul 12 2018 at 18:23)</a>:</h4>
<p>I did say that this -Z borrowck=migrate is a blocker</p>



<a name="129553144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553144">(Jul 12 2018 at 18:23)</a>:</h4>
<p>but I think once you get a PR up for this thing you have here</p>



<a name="129553145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553145">(Jul 12 2018 at 18:23)</a>:</h4>
<p>so after finishing this task will ping you to see what could be next</p>



<a name="129553150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553150">(Jul 12 2018 at 18:23)</a>:</h4>
<p>then that will be really close to the finish line</p>



<a name="129553152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553152">(Jul 12 2018 at 18:23)</a>:</h4>
<p>sounds great</p>



<a name="129553158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553158">(Jul 12 2018 at 18:23)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129553169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553169">(Jul 12 2018 at 18:23)</a>:</h4>
<p>thanks for sharing thoughts and ideas</p>



<a name="129553171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553171">(Jul 12 2018 at 18:23)</a>:</h4>
<p>talk to you later</p>



<a name="129553470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129553470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129553470">(Jul 12 2018 at 18:25)</a>:</h4>
<p>bye!</p>



<a name="129822539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129822539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129822539">(Jul 17 2018 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> giving you both an update about this because I saw you mentioned this issue, I had zero time until now, I'm right now jumping again in this issue</p>



<a name="129827310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827310">(Jul 17 2018 at 18:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I'm wondering how is the best way to pass the buffer in some places</p>



<a name="129827314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827314">(Jul 17 2018 at 18:26)</a>:</h4>
<p>for instance in qualify_consts</p>



<a name="129827340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827340">(Jul 17 2018 at 18:27)</a>:</h4>
<p>wait what</p>



<a name="129827355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827355">(Jul 17 2018 at 18:27)</a>:</h4>
<p>why are you modifying that?</p>



<a name="129827402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827402">(Jul 17 2018 at 18:28)</a>:</h4>
<p>there's a call to emit there</p>



<a name="129827420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827420">(Jul 17 2018 at 18:28)</a>:</h4>
<p>and it's in librustc_mir</p>



<a name="129827456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827456">(Jul 17 2018 at 18:29)</a>:</h4>
<p>hmm I see what you mean :)</p>



<a name="129827480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827480">(Jul 17 2018 at 18:29)</a>:</h4>
<p>what I need to modify is all the calls to emit inside <code>src/librustc_mir/borrow_check/</code> right?</p>



<a name="129827521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827521">(Jul 17 2018 at 18:30)</a>:</h4>
<p>yep</p>



<a name="129827523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827523">(Jul 17 2018 at 18:30)</a>:</h4>
<p>that one I was talking about is not part of the borrow_check</p>



<a name="129827526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827526">(Jul 17 2018 at 18:30)</a>:</h4>
<p>ok</p>



<a name="129827545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827545">(Jul 17 2018 at 18:30)</a>:</h4>
<p>was naively searching for stuff without noticing that</p>



<a name="129827682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827682">(Jul 17 2018 at 18:33)</a>:</h4>
<p>good thing you asked :)</p>



<a name="129827939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827939">(Jul 17 2018 at 18:39)</a>:</h4>
<p>:)</p>



<a name="129827943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827943">(Jul 17 2018 at 18:39)</a>:</h4>
<p>just for the sake of checking</p>



<a name="129827947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827947">(Jul 17 2018 at 18:39)</a>:</h4>
<p>let me push the stuff I have</p>



<a name="129827952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129827952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129827952">(Jul 17 2018 at 18:40)</a>:</h4>
<p>I think this is close and should be ready soon</p>



<a name="129828004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828004">(Jul 17 2018 at 18:40)</a>:</h4>
<p>thought it was more complicated than what it seems to be</p>



<a name="129828087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828087">(Jul 17 2018 at 18:42)</a>:</h4>
<p>cool</p>



<a name="129828098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828098">(Jul 17 2018 at 18:42)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> here is the relevant commit <a href="https://github.com/spastorino/rust/commit/fa80c651ac27151bced89490a109ff1a99b19ce2" target="_blank" title="https://github.com/spastorino/rust/commit/fa80c651ac27151bced89490a109ff1a99b19ce2">https://github.com/spastorino/rust/commit/fa80c651ac27151bced89490a109ff1a99b19ce2</a></p>



<a name="129828104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828104">(Jul 17 2018 at 18:42)</a>:</h4>
<p>here <a href="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L294-L296" target="_blank" title="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L294-L296">https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L294-L296</a> you see me iterating over the buffer and emitting</p>



<a name="129828118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828118">(Jul 17 2018 at 18:43)</a>:</h4>
<p>I was wondering about the rest of the emit calls in <code>mod.rs</code></p>



<a name="129828121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828121">(Jul 17 2018 at 18:43)</a>:</h4>
<p>for instance ...</p>



<a name="129828196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828196">(Jul 17 2018 at 18:45)</a>:</h4>
<p><a href="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L328" target="_blank" title="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L328">https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L328</a></p>



<a name="129828209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828209">(Jul 17 2018 at 18:45)</a>:</h4>
<p>that one doesn't seem to be important because it will happen after the buffer already emitted all what's in the buffer</p>



<a name="129828216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828216">(Jul 17 2018 at 18:45)</a>:</h4>
<p>I could make that push anyway and have a method which is called at the very end and just emit</p>



<a name="129828220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828220">(Jul 17 2018 at 18:45)</a>:</h4>
<p>maybe that's more clear</p>



<a name="129828270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828270">(Jul 17 2018 at 18:46)</a>:</h4>
<p>why not move the "emit site" down?</p>



<a name="129828277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828277">(Jul 17 2018 at 18:46)</a>:</h4>
<p>I feel like if we're gonna buffer, let's buffer <em>everything</em>...</p>



<a name="129828281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828281">(Jul 17 2018 at 18:46)</a>:</h4>
<p>yes</p>



<a name="129828285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828285">(Jul 17 2018 at 18:46)</a>:</h4>
<p>that's what I meant</p>



<a name="129828287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828287">(Jul 17 2018 at 18:46)</a>:</h4>
<p>ok</p>



<a name="129828289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828289">(Jul 17 2018 at 18:46)</a>:</h4>
<p><em>although</em> one other thing is that I do find it annoying to get stuff like "unnecessary mut" when there  are other, real errors</p>



<a name="129828292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828292">(Jul 17 2018 at 18:46)</a>:</h4>
<p>but that's a secondary issue</p>



<a name="129828294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828294">(Jul 17 2018 at 18:46)</a>:</h4>
<p>we can talk about sorting later</p>



<a name="129828302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828302">(Jul 17 2018 at 18:47)</a>:</h4>
<p>(often, the reason that the mut is not used is because of some other error, I find)</p>



<a name="129828303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828303">(Jul 17 2018 at 18:47)</a>:</h4>
<p>there's also <a href="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1366" target="_blank" title="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1366">https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1366</a></p>



<a name="129828310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828310">(Jul 17 2018 at 18:47)</a>:</h4>
<p>and <a href="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1908" target="_blank" title="https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1908">https://github.com/spastorino/rust/blob/fa80c651ac27151bced89490a109ff1a99b19ce2/src/librustc_mir/borrow_check/mod.rs#L1908</a></p>



<a name="129828311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828311">(Jul 17 2018 at 18:47)</a>:</h4>
<p>need to buffer those too</p>



<a name="129828314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828314">(Jul 17 2018 at 18:47)</a>:</h4>
<p>ok, will do with all the stuff</p>



<a name="129828318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828318">(Jul 17 2018 at 18:47)</a>:</h4>
<p>so something I've been thinking about</p>



<a name="129828321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828321">(Jul 17 2018 at 18:47)</a>:</h4>
<p>it seems like you are using grep to find the instances of <code>emit()</code></p>



<a name="129828372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828372">(Jul 17 2018 at 18:48)</a>:</h4>
<p>yep :)</p>



<a name="129828393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828393">(Jul 17 2018 at 18:48)</a>:</h4>
<p>There is another option.</p>



<a name="129828404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828404">(Jul 17 2018 at 18:48)</a>:</h4>
<p>In particular, you could 1. Add a trait that defines emit, 2. Rename the existing emit (to something like <code>emit_</code> or <code>do_emit</code>) and make it private, then implement the aforementioned trait, and 3. <code>use</code> the trait in each module that you want to alllow <code>emit</code> to be called.</p>



<a name="129828420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828420">(Jul 17 2018 at 18:49)</a>:</h4>
<p>This is not something that you would have to make part of your PR. It could just be a separate commit that you use as a tool to assure yourself that you've identified all the sites where <code>emit()</code> is called.</p>



<a name="129828479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828479">(Jul 17 2018 at 18:50)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span></p>



<a name="129828496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828496">(Jul 17 2018 at 18:50)</a>:</h4>
<p>Its up to you, of course. I just figure it seems like you're doing a lot of work to identify the emit's.</p>



<a name="129828503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828503">(Jul 17 2018 at 18:50)</a>:</h4>
<p>it's not actually that much</p>



<a name="129828514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828514">(Jul 17 2018 at 18:51)</a>:</h4>
<p>the thing is ... actually what you're saying is not going to work</p>



<a name="129828528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828528">(Jul 17 2018 at 18:51)</a>:</h4>
<p>well, unless I'm not seeing something</p>



<a name="129828538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828538">(Jul 17 2018 at 18:51)</a>:</h4>
<p>so ... I need to avoid calls to emit inside <code>borrow_check</code> mod</p>



<a name="129828540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828540">(Jul 17 2018 at 18:51)</a>:</h4>
<p>... maybe I'm not explaining it correctly. Its what I think of as the standard pattern for tying methods to modules</p>



<a name="129828550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828550">(Jul 17 2018 at 18:51)</a>:</h4>
<p>but leave as is for the rest of the places where the calls happen</p>



<a name="129828611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828611">(Jul 17 2018 at 18:52)</a>:</h4>
<p>right. So you would <code>use</code> this new trait in all the modules <em>except</em> <code>rustc_mir::borrow_check</code> (and everything underneath it)</p>



<a name="129828616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828616">(Jul 17 2018 at 18:52)</a>:</h4>
<p>ok</p>



<a name="129828617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828617">(Jul 17 2018 at 18:52)</a>:</h4>
<p>yes</p>



<a name="129828621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828621">(Jul 17 2018 at 18:52)</a>:</h4>
<p>something like that would work</p>



<a name="129828624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828624">(Jul 17 2018 at 18:53)</a>:</h4>
<p>yeah I see what you mean</p>



<a name="129828646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828646">(Jul 17 2018 at 18:53)</a>:</h4>
<p>I can also keep doing grep and change stuff and then move to a trait to see if something is failing in borrow_check</p>



<a name="129828651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129828651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129828651">(Jul 17 2018 at 18:53)</a>:</h4>
<p>if nothing fails inside there I can just git checkout the trait and that stuff</p>



<a name="129829941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129829941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129829941">(Jul 17 2018 at 19:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I remember why I didn't push to errors_buffer on that loop</p>



<a name="129829947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129829947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129829947">(Jul 17 2018 at 19:21)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0502]: cannot borrow `mbcx.errors_buffer` as mutable because `mbcx` is also borrowed as immutable
   --&gt; librustc_mir/borrow_check/mod.rs:326:13
    |
297 |         .filter(|local| !mbcx.used_mut.contains(local))
    |                 -------  ----                         - immutable borrow ends here
    |                 |        |
    |                 |        previous borrow occurs due to use of `mbcx` in closure
    |                 immutable borrow occurs here
...
326 |             mbcx.errors_buffer.push(err);
    |             ^^^^^^^^^^^^^^^^^^ mutable borrow occurs here

error: aborting due to previous error
</pre></div>



<a name="129829949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129829949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129829949">(Jul 17 2018 at 19:21)</a>:</h4>
<p>thinking how to avoid this ...</p>



<a name="129830008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830008">(Jul 17 2018 at 19:22)</a>:</h4>
<p>I think you might be able to do something like let used_mut = &amp;mbcx.used_mut; above the filter and then use that inside</p>



<a name="129830017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830017">(Jul 17 2018 at 19:23)</a>:</h4>
<p>field-level disparity is tracked by AST borrowck I believe</p>



<a name="129830031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830031">(Jul 17 2018 at 19:23)</a>:</h4>
<p>yes, that is the topic of this blog post: <a href="http://smallcultfollowing.com/babysteps/blog/2018/04/24/rust-pattern-precise-closure-capture-clauses/" target="_blank" title="http://smallcultfollowing.com/babysteps/blog/2018/04/24/rust-pattern-precise-closure-capture-clauses/">http://smallcultfollowing.com/babysteps/blog/2018/04/24/rust-pattern-precise-closure-capture-clauses/</a></p>



<a name="129830035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830035">(Jul 17 2018 at 19:23)</a>:</h4>
<p>also there is a pending RFC to improve it that I have been neglecting :(</p>



<a name="129830091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830091">(Jul 17 2018 at 19:24)</a>:</h4>
<p>ahh, makes sense</p>



<a name="129830094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830094">(Jul 17 2018 at 19:24)</a>:</h4>
<p>but</p>



<a name="129830095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830095">(Jul 17 2018 at 19:24)</a>:</h4>
<blockquote>
<p>field-level disparity is tracked by AST borrowck I believe</p>
</blockquote>
<p>what does this ^^^ means?</p>



<a name="129830116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830116">(Jul 17 2018 at 19:25)</a>:</h4>
<p>what do you mean by field-level disparity</p>



<a name="129830183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830183">(Jul 17 2018 at 19:26)</a>:</h4>
<p>i.e. you can do</p>
<div class="codehilite"><pre><span></span>struct Bar { foo: u32, baz: u32 };
let mut bar = Bar { foo: 10, baz: 10 };
let field_foo = &amp;bar.foo;
let field_baz = &amp;mut bar.baz;
</pre></div>



<a name="129830191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830191">(Jul 17 2018 at 19:27)</a>:</h4>
<p>but maybe I'm remembering wrong</p>



<a name="129830194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830194">(Jul 17 2018 at 19:27)</a>:</h4>
<p>I think the term I normally hear is "disjoint".</p>



<a name="129830196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830196">(Jul 17 2018 at 19:27)</a>:</h4>
<p>yes of course</p>



<a name="129830197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830197">(Jul 17 2018 at 19:27)</a>:</h4>
<p>without that nothing at all would work :)</p>



<a name="129830217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830217">(Jul 17 2018 at 19:27)</a>:</h4>
<p>The borrow checker knows that fields of a structure are disjoint and do not overlap</p>



<a name="129830222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830222">(Jul 17 2018 at 19:27)</a>:</h4>
<p>but it must be done within one fn, and a closure is a separate fn. that's the problem.</p>



<a name="129830269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830269">(Jul 17 2018 at 19:28)</a>:</h4>
<p>ya makes, sense</p>



<a name="129830271"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830271" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830271">(Jul 17 2018 at 19:28)</a>:</h4>
<p>yep, your closure has borrowed all of <code>mbcx</code></p>



<a name="129830280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830280">(Jul 17 2018 at 19:28)</a>:</h4>
<p>it was that I had no idea about the term <code>field level disparity</code> :)</p>



<a name="129830293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830293">(Jul 17 2018 at 19:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I'll admit that that particular style espoused in your blog was new to me. I haven't needed it too much since reading then, but I've been trying it when I do.</p>



<a name="129830310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830310">(Jul 17 2018 at 19:29)</a>:</h4>
<p>do you mean the </p>
<div class="codehilite"><pre><span></span>{
    let x = ...;
    move || x ...
}
</pre></div>


<p>?</p>



<a name="129830319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830319">(Jul 17 2018 at 19:30)</a>:</h4>
<p>I'm probably the only one who does it :) but I like packaging up the "closure borrows" with the closure itself...</p>



<a name="129830375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830375">(Jul 17 2018 at 19:30)</a>:</h4>
<p>right, I mean pulling the field access out of the closure</p>



<a name="129830376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830376">(Jul 17 2018 at 19:30)</a>:</h4>
<p>not pretty but it should work</p>



<a name="129830469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830469">(Jul 17 2018 at 19:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> indeed. I can see the benefit of it, but it's still a little odd to actually use "bare" <code>{ }</code> like that</p>



<a name="129830503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129830503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129830503">(Jul 17 2018 at 19:33)</a>:</h4>
<p>oh, I do that a lot too, if I want to emphasize "these are temporary values used to construct this other thing"</p>



<a name="129865320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129865320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129865320">(Jul 18 2018 at 11:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> hey, so as an experiment I grabbed your branch and tried doing the trait experiment I described, mostly to get an idea how painful it was</p>



<a name="129865340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129865340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129865340">(Jul 18 2018 at 11:13)</a>:</h4>
<p>and one thing I noticed while working on it: There are a few places where errors are being generated that are <em>not</em> going through the structured DiagnosticBuilder interface.</p>



<a name="129865414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129865414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129865414">(Jul 18 2018 at 11:15)</a>:</h4>
<p>Its probably easiest to just fix all those cases as part of this work, since otherwise you'll end up with deltas to the test results (namely in the ordering of diagnostic output) that you'd have to account for; such accounting is harder than just fixing the code to use DiagnosticBuilder</p>



<a name="129868723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868723">(Jul 18 2018 at 12:29)</a>:</h4>
<p>Also, something I only just thought of last night that hasn't really been specified yet: What will the behavior of <code>#![feature(nll)]</code> be under <code>-Z borrowck=migrate</code>, aka under edition=2018 ?</p>



<a name="129868778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868778">(Jul 18 2018 at 12:30)</a>:</h4>
<p>My thought is that if the user opts into <code>#![feature(nll)]</code> then we should just run with NLL and not do AST at all; they've opted into it and they <em>want</em> the errors.</p>



<a name="129868836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868836">(Jul 18 2018 at 12:32)</a>:</h4>
<p>But then that raises a question: Should we add separate feature for users to opt into the <code>-Z borrowck=migrate</code> mode, so that crates can turn it on? Or is this something that we'll just toggle via the edition opt-in, and via the <code>-Z</code> flag in our unit tests?</p>



<a name="129868845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868845">(Jul 18 2018 at 12:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> you may have thoughts on this ^</p>



<a name="129868851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868851">(Jul 18 2018 at 12:32)</a>:</h4>
<p>my main concern is the logic getting too complex</p>



<a name="129868853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868853">(Jul 18 2018 at 12:32)</a>:</h4>
<p>so..many...modes....</p>



<a name="129868882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129868882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129868882">(Jul 18 2018 at 12:33)</a>:</h4>
<p>I'm personally leaning towards "we'll just toggle via the edition opt-in, and via the -Z flag in our unit tests"</p>



<a name="129873086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873086">(Jul 18 2018 at 13:59)</a>:</h4>
<p>so what are the full set of modes? there are at least two things, right?</p>
<ul>
<li>borrowck = ast, mir, migrate</li>
<li>two-phase-borrows on or off</li>
</ul>
<p>Right now <code>#![feature(nll)]</code> means mir + 2-phase</p>
<p>I guess you are saying we could add a new <code>#![feature(nll_migrate)]</code> that means migrate + 2-phase</p>
<p>And have <code>--edition 2018</code> enable that feature</p>



<a name="129873091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873091">(Jul 18 2018 at 13:59)</a>:</h4>
<p>that seems ok</p>



<a name="129873099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873099">(Jul 18 2018 at 13:59)</a>:</h4>
<p>otoh I think maybe it's easier to just have <code>#![feature(nll)]</code> be the one user-exposed thing</p>



<a name="129873152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873152">(Jul 18 2018 at 14:00)</a>:</h4>
<p>well, we don't technically need a <code>feature(nll_migrate)</code></p>



<a name="129873166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873166">(Jul 18 2018 at 14:00)</a>:</h4>
<p>basically the "default" borrowck mode would depend on  the edition (2015 = AST, 2018 = Migrate)</p>



<a name="129873169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873169">(Jul 18 2018 at 14:00)</a>:</h4>
<p>right?</p>



<a name="129873173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873173">(Jul 18 2018 at 14:00)</a>:</h4>
<p>I don't really have a strong opinion is the truth</p>



<a name="129873390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873390">(Jul 18 2018 at 14:04)</a>:</h4>
<p>would polonius become a feature flag ever (after <code>nll</code> is enabled, presumably)</p>



<a name="129873590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873590">(Jul 18 2018 at 14:08)</a>:</h4>
<p>presumably at some point</p>



<a name="129873593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873593">(Jul 18 2018 at 14:08)</a>:</h4>
<p>but yes I imagine by then nll will just be the deafult</p>



<a name="129873693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873693">(Jul 18 2018 at 14:10)</a>:</h4>
<p>so it wont add to the matrix</p>



<a name="129873924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873924">(Jul 18 2018 at 14:15)</a>:</h4>
<p>We don't need <code>feature(nll_migrate)</code> unless we think people will want to opt into that mode separately from opting into the edition. (Right?)</p>



<a name="129873954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129873954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129873954">(Jul 18 2018 at 14:15)</a>:</h4>
<p>That is, I'm attempting to say I agree with <span class="user-mention" data-user-id="116009">@nikomatsakis</span> 's statement above, or rather, I am attempting to refine it.</p>



<a name="129874016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874016">(Jul 18 2018 at 14:16)</a>:</h4>
<p>yes, true</p>



<a name="129874023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874023">(Jul 18 2018 at 14:16)</a>:</h4>
<p>I initially had this idea that the edition should be the union of various feature gates, but that's not necessarily true</p>



<a name="129874041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874041">(Jul 18 2018 at 14:16)</a>:</h4>
<p>And I think I agree with the statement. Someone who wants to migrate (but cannot or will not jump into edition=2018) and is on nightly should probably jump whole hog into <code>feature(nll)</code>.</p>



<a name="129874066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874066">(Jul 18 2018 at 14:17)</a>:</h4>
<p>or rather, we should not be making further pains to support someone who is not willing to fix their code. (Right?)</p>



<a name="129874084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874084">(Jul 18 2018 at 14:17)</a>:</h4>
<p>Because I see the whole backwards-compatibility thing in this case as being about supporting people who are using either old/abandoned third-party libraries</p>



<a name="129874213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874213">(Jul 18 2018 at 14:20)</a>:</h4>
<blockquote>
<p>I initially had this idea that the edition should be the union of various feature gates, but that's not necessarily true</p>
</blockquote>
<p>Okay I'll admit this is an alternative, somewhat more compelling argument for <code>feature(nll_migrate)</code>.</p>



<a name="129874312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874312">(Jul 18 2018 at 14:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> while I have your attention in this topic area: Did (or do) you have any preference about how the overall control-flow should look for how we fallback on the AST-borrowck?</p>



<a name="129874423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874423">(Jul 18 2018 at 14:23)</a>:</h4>
<p>In particular, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> 's current branch is building the error buffers as a temporary <code>Vec</code> inside <code>rustc_mir::borrow_check::do_mir_borrowck</code>. If that vec doesn't leak outside of that method, then the fallback run of AST-borrowck has to be invoked from within <code>do_mir_borrowck</code>. (Which is fine with me if it is doable.)</p>



<a name="129874441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874441">(Jul 18 2018 at 14:23)</a>:</h4>
<p>not obvious to me why that is a problem</p>



<a name="129874448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874448">(Jul 18 2018 at 14:23)</a>:</h4>
<p>one other thing: one could imagine that in 2018 mode, we just always give hard NLL errors</p>



<a name="129874452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874452">(Jul 18 2018 at 14:23)</a>:</h4>
<p>but in 2015 mode, we do fallback</p>



<a name="129874461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874461">(Jul 18 2018 at 14:23)</a>:</h4>
<p>and there is only one feature gate (<code>nll</code>)</p>



<a name="129874462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874462">(Jul 18 2018 at 14:23)</a>:</h4>
<p>The alternative control-flow I could envisage would involve <code>do_mir_borrowck</code> passing the <code>errors_buffer</code> back up to its caller and letting it process them. Or make them the result of the query, etc.</p>



<a name="129874517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874517">(Jul 18 2018 at 14:24)</a>:</h4>
<p>I think they cannot be the result of the query</p>



<a name="129874521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874521">(Jul 18 2018 at 14:24)</a>:</h4>
<p>because they contain references they ought not to</p>



<a name="129874524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874524">(Jul 18 2018 at 14:24)</a>:</h4>
<p>Oh, because lifetimes</p>



<a name="129874530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874530">(Jul 18 2018 at 14:24)</a>:</h4>
<p>right</p>



<a name="129874564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874564">(Jul 18 2018 at 14:25)</a>:</h4>
<p>I've mused about that too. There's one obvious hack: Don't store <code>DiagnoticBuilder&lt;'a&gt;</code> in the vector; instead, convert each one to its string form eagerly.</p>



<a name="129874624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874624">(Jul 18 2018 at 14:26)</a>:</h4>
<p>but that seems unnecessary if you are okay with us just invoking the AST-borrowck query from within MIR-borrowck.</p>



<a name="129874625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874625">(Jul 18 2018 at 14:26)</a>:</h4>
<blockquote>
<p>Oh, because lifetimes</p>
</blockquote>
<p>The story of programming in Rust.</p>



<a name="129874653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129874653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129874653">(Jul 18 2018 at 14:26)</a>:</h4>
<blockquote>
<blockquote>
<p>Oh, because lifetimes</p>
</blockquote>
<p>The story of programming in Rust.</p>
</blockquote>
<p>Its probably the story of programming in any non-GC'ed language. We just forced people to start talking about it. (What a "woke" language!)</p>



<a name="129877481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129877481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129877481">(Jul 18 2018 at 15:13)</a>:</h4>
<blockquote>
<p>and one thing I noticed while working on it: There are a few places where errors are being generated that are <em>not</em> going through the structured DiagnosticBuilder interface.</p>
</blockquote>
<p>I looked into this further; I <em>think</em> these are the main instances of this: <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L505" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L505">nll/region_infer report_generic_bound_failure</a>, <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L523" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L523">nll/region_infer span_err</a>, <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/type_check/mod.rs#L1257" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/type_check/mod.rs#L1257">nll/type_check span_err</a>.</p>



<a name="129877538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129877538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129877538">(Jul 18 2018 at 15:14)</a>:</h4>
<p>(However, I only just now noticed the instance of <code>report_generic_bound_failure</code>. There might be other instances of that.)</p>



<a name="129880392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129880392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129880392">(Jul 18 2018 at 16:04)</a>:</h4>
<blockquote>
<p>and one thing I noticed while working on it: There are a few places where errors are being generated that are <em>not</em> going through the structured DiagnosticBuilder interface.</p>
</blockquote>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> can you share the stuff you've already figured out? like the traits code if you think it's useful and the places where errors are being generated without using DiagnosticBuilder in case you have them identified</p>



<a name="129880399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129880399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129880399">(Jul 18 2018 at 16:04)</a>:</h4>
<blockquote>
<p>Its probably easiest to just fix all those cases as part of this work, since otherwise you'll end up with deltas to the test results (namely in the ordering of diagnostic output) that you'd have to account for; such accounting is harder than just fixing the code to use DiagnosticBuilder</p>
</blockquote>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129880730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129880730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129880730">(Jul 18 2018 at 16:11)</a>:</h4>
<blockquote>
<blockquote>
<p>and one thing I noticed while working on it: There are a few places where errors are being generated that are <em>not</em> going through the structured DiagnosticBuilder interface.</p>
</blockquote>
<p>I looked into this further; I <em>think</em> these are the main instances of this: <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L505" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L505">nll/region_infer report_generic_bound_failure</a>, <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L523" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L523">nll/region_infer span_err</a>, <a href="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/type_check/mod.rs#L1257" target="_blank" title="https://github.com/rust-lang/rust/blob/29ee65411c46b8f701bd1f241725092cb1b347e6/src/librustc_mir/borrow_check/nll/type_check/mod.rs#L1257">nll/type_check span_err</a>.</p>
</blockquote>
<p>just saw this message :) so part of my question is already answered :)</p>



<a name="129887057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129887057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129887057">(Jul 18 2018 at 18:05)</a>:</h4>
<p>I’ll try to share what i have from today after I manage to coax my son into sleeping... which may take two hours but I hope not</p>



<a name="129891904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129891904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129891904">(Jul 18 2018 at 19:41)</a>:</h4>
<blockquote>
<p>can you share the stuff you've already figured out?</p>
</blockquote>
<p>Here you go: <a href="https://github.com/pnkfelix/rust/commits/z-borrowck-migrate" target="_blank" title="https://github.com/pnkfelix/rust/commits/z-borrowck-migrate">https://github.com/pnkfelix/rust/commits/z-borrowck-migrate</a></p>



<a name="129891980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129891980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129891980">(Jul 18 2018 at 19:42)</a>:</h4>
<p>that builds and gets through the non-nll <code>ui/</code> tests. But it gets hung up on three of the <code>ui (nll)</code> tests. I am hoping it is due to the aforementioned cases I identified (which are tagged with FIXME in an isolated commit  on that branch.</p>



<a name="129891990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129891990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129891990">(Jul 18 2018 at 19:43)</a>:</h4>
<p>BTW lets make sure we keep that <code>trait Emit</code> code factored out; I don' think we'll want to land that.</p>



<a name="129893667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893667">(Jul 18 2018 at 20:18)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129893674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893674">(Jul 18 2018 at 20:18)</a>:</h4>
<p>actually I have not been paying attention to this because I have been fighting with the borrow checker for a while :)</p>



<a name="129893690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893690">(Jul 18 2018 at 20:19)</a>:</h4>
<p>last thing I need to fix is ...</p>



<a name="129893693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893693">(Jul 18 2018 at 20:19)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0597]: `mdpe` does not live long enough
   --&gt; librustc_mir/borrow_check/mod.rs:177:48
    |
177 |         MaybeInitializedPlaces::new(tcx, mir, &amp;mdpe),
    |                                                ^^^^ borrowed value does not live long enough
...
345 | }
    | - `mdpe` dropped here while still borrowed
    |
    = note: values in a scope are dropped in the opposite order they are created

error[E0597]: `mdpe` does not live long enough
   --&gt; librustc_mir/borrow_check/mod.rs:186:50
    |
186 |         MaybeUninitializedPlaces::new(tcx, mir, &amp;mdpe),
    |                                                  ^^^^ borrowed value does not live long enough
...
345 | }
    | - `mdpe` dropped here while still borrowed
    |
    = note: values in a scope are dropped in the opposite order they are created

error[E0597]: `mdpe` does not live long enough
   --&gt; librustc_mir/borrow_check/mod.rs:195:45
    |
195 |         MovingOutStatements::new(tcx, mir, &amp;mdpe),
    |                                             ^^^^ borrowed value does not live long enough
...
345 | }
    | - `mdpe` dropped here while still borrowed
    |
    = note: values in a scope are dropped in the opposite order they are created

error[E0597]: `mdpe` does not live long enough
   --&gt; librustc_mir/borrow_check/mod.rs:204:47
    |
204 |         EverInitializedPlaces::new(tcx, mir, &amp;mdpe),
    |                                               ^^^^ borrowed value does not live long enough
...
345 | }
    | - `mdpe` dropped here while still borrowed
    |
    = note: values in a scope are dropped in the opposite order they are created

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0597`.
error: Could not compile `rustc_mir`.
</pre></div>



<a name="129893772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893772">(Jul 18 2018 at 20:20)</a>:</h4>
<p>I don't see why is mdpe still borrowed</p>



<a name="129893984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129893984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129893984">(Jul 18 2018 at 20:25)</a>:</h4>
<p>you can see how I fixed that on my branch</p>



<a name="129894047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894047">(Jul 18 2018 at 20:26)</a>:</h4>
<p>namely in <a href="https://github.com/pnkfelix/rust/commit/2353b715e92353c824931bbda2451fbf1e46cf8b" target="_blank" title="https://github.com/pnkfelix/rust/commit/2353b715e92353c824931bbda2451fbf1e46cf8b">this commit</a></p>



<a name="129894060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894060">(Jul 18 2018 at 20:26)</a>:</h4>
<p>the <code>mdpe</code> needs to outlive the <code>errors_buffer</code></p>



<a name="129894089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894089">(Jul 18 2018 at 20:27)</a>:</h4>
<p>I've just fixed it</p>



<a name="129894093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894093">(Jul 18 2018 at 20:27)</a>:</h4>
<p>anyway gonna check your commit</p>



<a name="129894141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894141">(Jul 18 2018 at 20:28)</a>:</h4>
<p>The way the code was before, with the <code>let mdpe</code> at the point where <code>mdpe</code> is initialized, makes it get dropped too soon. Which ... I don't think actually matters ... but I think it was causing the region inference to get confused.</p>



<a name="129894143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894143">(Jul 18 2018 at 20:28)</a>:</h4>
<p>your fix is simpler and better :)</p>



<a name="129894162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894162">(Jul 18 2018 at 20:28)</a>:</h4>
<p>I had to take a walk in between when I saw that error and when I actually fixed it. :)</p>



<a name="129894166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894166">(Jul 18 2018 at 20:29)</a>:</h4>
<p>there was some useless head-banging against the keyboard when I first hit it.</p>



<a name="129894181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894181">(Jul 18 2018 at 20:29)</a>:</h4>
<p>:)</p>



<a name="129894189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894189">(Jul 18 2018 at 20:29)</a>:</h4>
<p>the code I have is now compiling</p>



<a name="129894238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894238">(Jul 18 2018 at 20:30)</a>:</h4>
<p>after all the borrowck headaches</p>



<a name="129894264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894264">(Jul 18 2018 at 20:30)</a>:</h4>
<p>now my question is</p>



<a name="129894268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894268">(Jul 18 2018 at 20:30)</a>:</h4>
<p>how many of these headaches will NLL fix...</p>



<a name="129894275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894275">(Jul 18 2018 at 20:30)</a>:</h4>
<p>:P</p>



<a name="129894277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894277">(Jul 18 2018 at 20:30)</a>:</h4>
<p>I have no idea</p>



<a name="129894279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894279">(Jul 18 2018 at 20:30)</a>:</h4>
<p>hehehe</p>



<a name="129894293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894293">(Jul 18 2018 at 20:31)</a>:</h4>
<p>I don't think the issues I was hitting are related</p>



<a name="129894305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894305">(Jul 18 2018 at 20:31)</a>:</h4>
<p>just needed to properly adjust a lot of structs lifetimes</p>



<a name="129894310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894310">(Jul 18 2018 at 20:31)</a>:</h4>
<p>and properly mark outlives relations</p>



<a name="129894321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894321">(Jul 18 2018 at 20:31)</a>:</h4>
<p>I think is the first time I do this in Rust in a such intensive way</p>



<a name="129894502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894502">(Jul 18 2018 at 20:34)</a>:</h4>
<p>Sometimes that kind of change ends up not being necessary</p>



<a name="129894513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894513">(Jul 18 2018 at 20:34)</a>:</h4>
<p>if the types end up all being covariant</p>



<a name="129894538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894538">(Jul 18 2018 at 20:35)</a>:</h4>
<p>but as soon as something has a <code>&amp;mut</code> or other kinds of mutability like <code>Cell</code>, you end up having a lot of pain with explicit lifetime maintenance</p>



<a name="129894557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894557">(Jul 18 2018 at 20:35)</a>:</h4>
<p>(Thus, passing down a <code>&amp;mut</code> errors_buffer like this, and trying to add it to an existing struct, can lead to a lot of headaches.)</p>



<a name="129894603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894603">(Jul 18 2018 at 20:36)</a>:</h4>
<p>its an area where the language will need to be improved, long term.</p>



<a name="129894721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894721">(Jul 18 2018 at 20:38)</a>:</h4>
<p>I see what you described happening in practice</p>



<a name="129894733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894733">(Jul 18 2018 at 20:39)</a>:</h4>
<p>I don't know why is all this related with the thing being <code>&amp;mut</code></p>



<a name="129894743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894743">(Jul 18 2018 at 20:39)</a>:</h4>
<p>Niko told me the same thing earlier</p>



<a name="129894746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894746">(Jul 18 2018 at 20:39)</a>:</h4>
<p>I have a presentation you can watch if you want to learn</p>



<a name="129894751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894751">(Jul 18 2018 at 20:39)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129894765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894765">(Jul 18 2018 at 20:39)</a>:</h4>
<p>I told Niko, would be nice to have a rustc conference :P</p>



<a name="129894768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894768">(Jul 18 2018 at 20:39)</a>:</h4>
<p>this one: <a href="https://www.youtube.com/watch?v=fI4RG_uq-WU" target="_blank" title="https://www.youtube.com/watch?v=fI4RG_uq-WU">https://www.youtube.com/watch?v=fI4RG_uq-WU</a></p>
<div class="youtube-video message_inline_image"><a data-id="fI4RG_uq-WU" href="https://www.youtube.com/watch?v=fI4RG_uq-WU" target="_blank" title="https://www.youtube.com/watch?v=fI4RG_uq-WU"><img src="https://i.ytimg.com/vi/fI4RG_uq-WU/default.jpg"></a></div>



<a name="129894844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894844">(Jul 18 2018 at 20:40)</a>:</h4>
<p>You may need to connect a few more dots after watching that to connect it to what we're discussing, I cannot remember now.</p>



<a name="129894845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129894845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129894845">(Jul 18 2018 at 20:40)</a>:</h4>
<p>I feel that there's a lot of knowledge you have and if properly shared I and pretty sure other contributors will be more productive :)</p>



<a name="129896081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129896081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129896081">(Jul 18 2018 at 21:07)</a>:</h4>
<p>Variance is both an intuitive and unintuitive concept. I refer back to <a href="https://doc.rust-lang.org/nomicon/subtyping.html" target="_blank" title="https://doc.rust-lang.org/nomicon/subtyping.html">https://doc.rust-lang.org/nomicon/subtyping.html</a> when thinking about it.</p>



<a name="129896877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129896877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129896877">(Jul 18 2018 at 21:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> FYI I just pushed some more commits to my repo's z-borrowck-migrate branch</p>



<a name="129896936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129896936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129896936">(Jul 18 2018 at 21:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> i haven't identified all the problematic points yet;I believe I've fixed the three that I identified earlier, but the test suite still has two test cases where the output ordering differs.</p>



<a name="129897169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129897169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129897169">(Jul 18 2018 at 21:30)</a>:</h4>
<p>(note that I would not necessarily try to land this code I've written as is. I'm just trying to see how far I can get.)</p>



<a name="129897537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129897537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> davidtwco <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129897537">(Jul 18 2018 at 21:39)</a>:</h4>
<p>(<span class="user-mention" data-user-id="116083">@pnkfelix</span> that talk was really great, thanks for linking it!)</p>



<a name="129897545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129897545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129897545">(Jul 18 2018 at 21:39)</a>:</h4>
<p>every time I skim over the slides I marvel at how long I spent preparing it</p>



<a name="129898132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898132">(Jul 18 2018 at 21:50)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> i haven't identified all the problematic points yet;I believe I've fixed the three that I identified earlier, but the test suite still has two test cases where the output ordering differs.</p>
</blockquote>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> cool, I've this thing compiling today is a national holiday here, so will probably stop now</p>



<a name="129898141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898141">(Jul 18 2018 at 21:50)</a>:</h4>
<p>tomorrow I guess I should finish this</p>



<a name="129898150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898150">(Jul 18 2018 at 21:50)</a>:</h4>
<p>haven't checked your branch yet</p>



<a name="129898154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898154">(Jul 18 2018 at 21:50)</a>:</h4>
<p>i too must stop because i fear my toddler may awake at any point during the night</p>



<a name="129898156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898156">(Jul 18 2018 at 21:50)</a>:</h4>
<blockquote>
<p>(note that I would not necessarily try to land this code I've written as is. I'm just trying to see how far I can get.)</p>
</blockquote>
<p>and no worries about this :)</p>



<a name="129898165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898165">(Jul 18 2018 at 21:51)</a>:</h4>
<p>we should make this happen together :)</p>



<a name="129898169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898169">(Jul 18 2018 at 21:51)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> have you pushed your branch? Please do so just so I can look at it</p>



<a name="129898179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898179">(Jul 18 2018 at 21:51)</a>:</h4>
<p>And yes, I think it would be good for us to try to collaborate to get this to happen. I was musing earlier that it might be good if we tried to literally hand work off to each other</p>



<a name="129898182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898182">(Jul 18 2018 at 21:51)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> yes, I've pushed</p>



<a name="129898184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898184">(Jul 18 2018 at 21:51)</a>:</h4>
<p>it's here <a href="https://github.com/spastorino/rust/compare/z-borrowck-migrate" target="_blank" title="https://github.com/spastorino/rust/compare/z-borrowck-migrate">https://github.com/spastorino/rust/compare/z-borrowck-migrate</a></p>



<a name="129898226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898226">(Jul 18 2018 at 21:52)</a>:</h4>
<p>Great. I may look at it tomorrow.</p>



<a name="129898227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898227">(Jul 18 2018 at 21:52)</a>:</h4>
<p>haven't checked properly yet</p>



<a name="129898237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898237">(Jul 18 2018 at 21:52)</a>:</h4>
<p>may be some weird lifetimes dance that I still need to remove</p>



<a name="129898258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898258">(Jul 18 2018 at 21:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> would be good to make a list of things that we want to accomplish</p>



<a name="129898266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898266">(Jul 18 2018 at 21:53)</a>:</h4>
<p>we talked about a lot of things and may be a good idea to build a checklist to not forget about stuff</p>



<a name="129898270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898270">(Jul 18 2018 at 21:54)</a>:</h4>
<p>well if we can get the buffering to the point where the errors it emits are in the same order, then that would be a fine point to make a PR</p>



<a name="129898336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898336">(Jul 18 2018 at 21:55)</a>:</h4>
<p>But yeah, I'll put a checklist up on issue <a href="https://github.com/rust-lang/rust/issues/46908" target="_blank" title="https://github.com/rust-lang/rust/issues/46908">#46908</a> itself, so that we know the task list for the issue itself.</p>



<a name="129898555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898555">(Jul 18 2018 at 22:00)</a>:</h4>
<p>exactly</p>



<a name="129898556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898556">(Jul 18 2018 at 22:00)</a>:</h4>
<p>yeah</p>



<a name="129898558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129898558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129898558">(Jul 18 2018 at 22:00)</a>:</h4>
<p>makes sense</p>



<a name="129900183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129900183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129900183">(Jul 18 2018 at 22:45)</a>:</h4>
<blockquote>
<p>every time I skim over the slides I marvel at how long I spent preparing it</p>
</blockquote>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> out of curiosity, how long is that? :)</p>



<a name="129907418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129907418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129907418">(Jul 19 2018 at 02:17)</a>:</h4>
<p>Well one can identify some rough bounds on an estimate by looking at the commit history here <a href="https://github.com/pnkfelix/presentations/commits/rustfest-berlin-2016" target="_blank" title="https://github.com/pnkfelix/presentations/commits/rustfest-berlin-2016">https://github.com/pnkfelix/presentations/commits/rustfest-berlin-2016</a></p>



<a name="129911909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129911909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129911909">(Jul 19 2018 at 04:54)</a>:</h4>
<p>3 years :)</p>



<a name="129925327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129925327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129925327">(Jul 19 2018 at 10:44)</a>:</h4>
<p>well that a pretty conservative bound</p>



<a name="129925573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129925573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129925573">(Jul 19 2018 at 10:49)</a>:</h4>
<p>(a more thorough answer: I wrote the talk proposal in late June, and made final mods to the slides themselves in early september. The <a href="https://github.com/pnkfelix/presentations/commits/rustfest-berlin-2016/rustfest-berlin-2016/src/slides.md" target="_blank" title="https://github.com/pnkfelix/presentations/commits/rustfest-berlin-2016/rustfest-berlin-2016/src/slides.md">commit history</a> is misleading, in that it shows that a lot of the text was inserted over the course of a few days, but I had worked out the ideas on paper &amp; index cards long before then.)</p>



<a name="129927035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129927035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129927035">(Jul 19 2018 at 11:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> okay I think I identified the other emit calls that I had missed. Or at least, I am now able to get through the <code>ui/</code> tests.</p>



<a name="129930849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930849">(Jul 19 2018 at 13:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> have you based your work on top of my updated branch or something?</p>



<a name="129930860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930860">(Jul 19 2018 at 13:02)</a>:</h4>
<p>what do you mean?</p>



<a name="129930897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930897">(Jul 19 2018 at 13:02)</a>:</h4>
<p>maybe I can just add you as a collaborator to my repo and you can push your stuff on top of mine</p>



<a name="129930902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930902">(Jul 19 2018 at 13:02)</a>:</h4>
<p>so we can open a PR</p>



<a name="129930906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930906">(Jul 19 2018 at 13:02)</a>:</h4>
<p>or you can point me to what you have done and I guess I can grab your commits and open a PR</p>



<a name="129930921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930921">(Jul 19 2018 at 13:03)</a>:</h4>
<p>I pushed the working system to the same branch on my repo (same name as the one on your rust repo)</p>



<a name="129930926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930926">(Jul 19 2018 at 13:03)</a>:</h4>
<p>and now I've been rebasing and cleaning it up a little</p>



<a name="129930929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930929">(Jul 19 2018 at 13:03)</a>:</h4>
<p>If you like I can handle opening the PR at this point</p>



<a name="129930933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930933">(Jul 19 2018 at 13:03)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129930934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930934">(Jul 19 2018 at 13:03)</a>:</h4>
<p>its up to you; i'll leave the commits that you did attributed to you</p>



<a name="129930985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930985">(Jul 19 2018 at 13:04)</a>:</h4>
<p>no worries about that, you can merge stuff if you prefer</p>



<a name="129930987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930987">(Jul 19 2018 at 13:04)</a>:</h4>
<p>I don't mind</p>



<a name="129930988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129930988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129930988">(Jul 19 2018 at 13:04)</a>:</h4>
<p>at least, I got the impression that you were interested in going back to working on performance investigation?</p>



<a name="129931003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931003">(Jul 19 2018 at 13:04)</a>:</h4>
<p>I'm fine to do whatever is needed</p>



<a name="129931014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931014">(Jul 19 2018 at 13:05)</a>:</h4>
<p>but I could continue with the -Z migrate thing I guess</p>



<a name="129931018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931018">(Jul 19 2018 at 13:05)</a>:</h4>
<p>whatever you prefer</p>



<a name="129931027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931027">(Jul 19 2018 at 13:05)</a>:</h4>
<p>check my branch again if you didn't because yesterday late I made some changes</p>



<a name="129931032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931032">(Jul 19 2018 at 13:05)</a>:</h4>
<p>okay I'll look at that</p>



<a name="129931081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931081">(Jul 19 2018 at 13:06)</a>:</h4>
<p>my branch was compiling, it was probably lacking those emit order stuff you were investigating :)</p>



<a name="129931093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931093">(Jul 19 2018 at 13:06)</a>:</h4>
<p>my branch passes the {ui,compile-fail,run-pass,mir-opt} test suites</p>



<a name="129931096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931096">(Jul 19 2018 at 13:06)</a>:</h4>
<p>which is a good sign</p>



<a name="129931171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129931171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129931171">(Jul 19 2018 at 13:08)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129933472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129933472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129933472">(Jul 19 2018 at 13:58)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> let me know when you finish or if I can help in any way so I can continue with the rest</p>



<a name="129933480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129933480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129933480">(Jul 19 2018 at 13:58)</a>:</h4>
<p>or well ... I can assume it's done and continue in a new branch</p>



<a name="129933483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129933483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129933483">(Jul 19 2018 at 13:59)</a>:</h4>
<p>I have plenty of time today</p>



<a name="129941111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941111">(Jul 19 2018 at 16:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> ?</p>



<a name="129941182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941182">(Jul 19 2018 at 16:22)</a>:</h4>
<p>I can continue with everything from the point you have it now I guess</p>



<a name="129941184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941184">(Jul 19 2018 at 16:22)</a>:</h4>
<p>I guess I can grab your branch</p>



<a name="129941188"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941188" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941188">(Jul 19 2018 at 16:22)</a>:</h4>
<p>I have plenty of time :)</p>



<a name="129941207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941207">(Jul 19 2018 at 16:23)</a>:</h4>
<p>I’m busy with child card right now, yeah</p>



<a name="129941216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941216">(Jul 19 2018 at 16:23)</a>:</h4>
<p>no worries</p>



<a name="129941218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941218">(Jul 19 2018 at 16:23)</a>:</h4>
<p>so I can continue</p>



<a name="129941221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941221">(Jul 19 2018 at 16:23)</a>:</h4>
<p>should I grab your branch?</p>



<a name="129941225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941225">(Jul 19 2018 at 16:23)</a>:</h4>
<p>is it up to date?</p>



<a name="129941231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129941231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129941231">(Jul 19 2018 at 16:23)</a>:</h4>
<p>gonna cherry pick the commits that make sense and continue on my branch I guess</p>



<a name="129974064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129974064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129974064">(Jul 20 2018 at 04:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> all my commits + yours are here <a href="https://github.com/rust-lang/rust/compare/master...spastorino:z-borrowck-migrate" target="_blank" title="https://github.com/rust-lang/rust/compare/master...spastorino:z-borrowck-migrate">https://github.com/rust-lang/rust/compare/master...spastorino:z-borrowck-migrate</a></p>



<a name="129974136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129974136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129974136">(Jul 20 2018 at 04:07)</a>:</h4>
<p>it's giving some lifetimes errors after having it rebased with master</p>



<a name="129974138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129974138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129974138">(Jul 20 2018 at 04:07)</a>:</h4>
<p>tomorrow will look into it</p>



<a name="129974197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129974197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129974197">(Jul 20 2018 at 04:09)</a>:</h4>
<p>there were a lot of things in your repo that I already have done in mine also</p>



<a name="129974199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129974199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129974199">(Jul 20 2018 at 04:09)</a>:</h4>
<p>so the merge ended not being so straightforward</p>



<a name="129990174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129990174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129990174">(Jul 20 2018 at 11:17)</a>:</h4>
<p>Yeah I should have warned you about that, I had seen lifetime errors post rebase and while I have a fixed, I had not pushed my own rebased version</p>



<a name="129994565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129994565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129994565">(Jul 20 2018 at 12:47)</a>:</h4>
<p>@pnkfelix can you point me to the code that fixes that?</p>



<a name="129994580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129994580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129994580">(Jul 20 2018 at 12:48)</a>:</h4>
<p>I'm going right now to start fighting with this issues</p>



<a name="129995040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995040">(Jul 20 2018 at 12:55)</a>:</h4>
<p>So</p>



<a name="129995084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995084">(Jul 20 2018 at 12:56)</a>:</h4>
<p>I just finished rebasing my work atop your branch</p>



<a name="129995094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995094">(Jul 20 2018 at 12:56)</a>:</h4>
<p>and after looking over your changes, I'm not sure we're winning trying to contintually rebase this way</p>



<a name="129995107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995107">(Jul 20 2018 at 12:56)</a>:</h4>
<p>in terms of the amount of time that it seems like we might be hitting conflicts in our changes?</p>



<a name="129995178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995178">(Jul 20 2018 at 12:58)</a>:</h4>
<p>yeah, maybe, unsure</p>



<a name="129995197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995197">(Jul 20 2018 at 12:58)</a>:</h4>
<p>what you suggest?</p>



<a name="129995207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995207">(Jul 20 2018 at 12:58)</a>:</h4>
<p>Not sure yet</p>



<a name="129995211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995211">(Jul 20 2018 at 12:58)</a>:</h4>
<p>I'm curious about the lifetimes issue fix :)</p>



<a name="129995215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995215">(Jul 20 2018 at 12:58)</a>:</h4>
<p>sure, i believe it is this bit: <a href="https://github.com/pnkfelix/rust/commit/389c4cf3e527df07212646844efcf95c5ddcd382#diff-681da89983b0186166523349cf3c2a8cR155" target="_blank" title="https://github.com/pnkfelix/rust/commit/389c4cf3e527df07212646844efcf95c5ddcd382#diff-681da89983b0186166523349cf3c2a8cR155">https://github.com/pnkfelix/rust/commit/389c4cf3e527df07212646844efcf95c5ddcd382#diff-681da89983b0186166523349cf3c2a8cR155</a></p>



<a name="129995219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995219">(Jul 20 2018 at 12:58)</a>:</h4>
<p>but this first part should be ready, right?</p>



<a name="129995236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995236">(Jul 20 2018 at 12:59)</a>:</h4>
<p>that is, I added a new <code>'errs</code> lifetime</p>



<a name="129995250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995250">(Jul 20 2018 at 12:59)</a>:</h4>
<p>I was thinking exactly the same thing</p>



<a name="129995267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995267">(Jul 20 2018 at 12:59)</a>:</h4>
<p>where <code>'a</code> can be shorter than <code>'errs</code> but <code>'errs</code> can be shorter than <code>'gcx</code></p>



<a name="129995274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995274">(Jul 20 2018 at 12:59)</a>:</h4>
<p>makes sense</p>



<a name="129995327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995327">(Jul 20 2018 at 13:00)</a>:</h4>
<p>This first part is indeed ready, or close to it.</p>



<a name="129995340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995340">(Jul 20 2018 at 13:00)</a>:</h4>
<p>I did want to ask you</p>



<a name="129995343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995343">(Jul 20 2018 at 13:00)</a>:</h4>
<p>why did you rename <code>'a</code> to <code>'cx</code> ?</p>



<a name="129995358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995358">(Jul 20 2018 at 13:00)</a>:</h4>
<p>do you want me to continue?</p>



<a name="129995359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995359">(Jul 20 2018 at 13:00)</a>:</h4>
<p>At least, I personally don't find <code>'cx</code> to be more informative. they're both equally generic.</p>



<a name="129995361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995361">(Jul 20 2018 at 13:00)</a>:</h4>
<p>yeah</p>



<a name="129995367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995367">(Jul 20 2018 at 13:01)</a>:</h4>
<p>I thought about that</p>



<a name="129995374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995374">(Jul 20 2018 at 13:01)</a>:</h4>
<p>can revert that stuff</p>



<a name="129995375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995375">(Jul 20 2018 at 13:01)</a>:</h4>
<p>well</p>



<a name="129995376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995376">(Jul 20 2018 at 13:01)</a>:</h4>
<p>I'll do that</p>



<a name="129995378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995378">(Jul 20 2018 at 13:01)</a>:</h4>
<p>I think at this point</p>



<a name="129995382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995382">(Jul 20 2018 at 13:01)</a>:</h4>
<p>the most efficient thing</p>



<a name="129995399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995399">(Jul 20 2018 at 13:01)</a>:</h4>
<p>well it depends</p>



<a name="129995463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995463">(Jul 20 2018 at 13:02)</a>:</h4>
<p>Were you planning to spend time on the other followup tasks for this issue over the weekend?</p>



<a name="129995481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995481">(Jul 20 2018 at 13:03)</a>:</h4>
<p>I usually don't have free time to code (or assist on the chat room/email) during the weekend</p>



<a name="129995591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995591">(Jul 20 2018 at 13:05)</a>:</h4>
<p>yeah I plan to work on this</p>



<a name="129995602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995602">(Jul 20 2018 at 13:05)</a>:</h4>
<p>in that case</p>



<a name="129995605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995605">(Jul 20 2018 at 13:05)</a>:</h4>
<p>and I have time today</p>



<a name="129995610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995610">(Jul 20 2018 at 13:05)</a>:</h4>
<p>since I won't have time, and I'll be finishing up my day soon</p>



<a name="129995614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995614">(Jul 20 2018 at 13:05)</a>:</h4>
<p>but I can jump to other task if you prefer</p>



<a name="129995659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995659">(Jul 20 2018 at 13:06)</a>:</h4>
<p>no I think it would be good for you to keep going</p>



<a name="129995668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995668">(Jul 20 2018 at 13:06)</a>:</h4>
<p>cool</p>



<a name="129995670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995670">(Jul 20 2018 at 13:06)</a>:</h4>
<p>since you have time and were already planning on going after it</p>



<a name="129995673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995673">(Jul 20 2018 at 13:06)</a>:</h4>
<p>but I'd like to make sure you start off ahead of the curve</p>



<a name="129995682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995682">(Jul 20 2018 at 13:06)</a>:</h4>
<p>as in: My branch, I believe, has everything in yours, and has been rebased atop master, and passes the test suite</p>



<a name="129995686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995686">(Jul 20 2018 at 13:07)</a>:</h4>
<p>so I should hand it off to you</p>



<a name="129995692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995692">(Jul 20 2018 at 13:07)</a>:</h4>
<p>and let you run with it</p>



<a name="129995707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995707">(Jul 20 2018 at 13:07)</a>:</h4>
<p>let me just</p>



<a name="129995718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995718">(Jul 20 2018 at 13:07)</a>:</h4>
<p>finish off the last task of getting rid of that <code>'a</code> to <code>'cx</code> rename commit</p>



<a name="129995721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995721">(Jul 20 2018 at 13:07)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="129995723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995723">(Jul 20 2018 at 13:08)</a>:</h4>
<p>and then I think I'll put up a PR with that</p>



<a name="129995771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995771">(Jul 20 2018 at 13:08)</a>:</h4>
<p>and then <em>you</em> can work on followup tasks</p>



<a name="129995773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995773">(Jul 20 2018 at 13:08)</a>:</h4>
<p>based on that PR</p>



<a name="129995776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995776">(Jul 20 2018 at 13:08)</a>:</h4>
<p>does that make sense?</p>



<a name="129995781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995781">(Jul 20 2018 at 13:08)</a>:</h4>
<p>as in, we can get niko to review the PR of the error buffering work</p>



<a name="129995788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995788">(Jul 20 2018 at 13:08)</a>:</h4>
<p>while you work on the other tasks for this issue</p>



<a name="129995793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995793">(Jul 20 2018 at 13:08)</a>:</h4>
<p>one of the reasoning about 'a -&gt; 'cx is that it is a bit confusing that in some places is called 'a and in other 'cx</p>



<a name="129995797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995797">(Jul 20 2018 at 13:08)</a>:</h4>
<p>but unsure</p>



<a name="129995800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995800">(Jul 20 2018 at 13:08)</a>:</h4>
<p><em>that</em> I can understand</p>



<a name="129995815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995815">(Jul 20 2018 at 13:09)</a>:</h4>
<p>but right now it just seemed to me to inject noise into the PR</p>



<a name="129995821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995821">(Jul 20 2018 at 13:09)</a>:</h4>
<p>yeah avoid that commit from PR</p>



<a name="129995825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995825">(Jul 20 2018 at 13:09)</a>:</h4>
<p>okay</p>



<a name="129995852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995852">(Jul 20 2018 at 13:09)</a>:</h4>
<p>anyway if we were making a change like that would need to be consistent over all the uses, not just a few :)</p>



<a name="129995903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995903">(Jul 20 2018 at 13:10)</a>:</h4>
<blockquote>
<p>does that make sense?</p>
</blockquote>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span>, makes sense</p>



<a name="129995907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995907">(Jul 20 2018 at 13:10)</a>:</h4>
<p>I was going to say that</p>



<a name="129995908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995908">(Jul 20 2018 at 13:10)</a>:</h4>
<p>open a PR</p>



<a name="129995909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129995909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129995909">(Jul 20 2018 at 13:10)</a>:</h4>
<p>:)</p>



<a name="129996810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129996810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129996810">(Jul 20 2018 at 13:29)</a>:</h4>
<p>was that a command or a clarification?</p>



<a name="129996822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129996822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129996822">(Jul 20 2018 at 13:29)</a>:</h4>
<p>"sudo open a PR"</p>



<a name="129997111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997111">(Jul 20 2018 at 13:34)</a>:</h4>
<p>In any case, here is the PR: <a href="https://github.com/rust-lang/rust/pull/52566" target="_blank" title="https://github.com/rust-lang/rust/pull/52566">https://github.com/rust-lang/rust/pull/52566</a></p>



<a name="129997142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997142">(Jul 20 2018 at 13:35)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> do you actually know <em>which</em> of the -Z borrowck=migrate tasks you are likely to take on in the immediate future?</p>



<a name="129997149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997149">(Jul 20 2018 at 13:35)</a>:</h4>
<p>hahaha, I clarification :P</p>



<a name="129997202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997202">(Jul 20 2018 at 13:36)</a>:</h4>
<p>I was going to say, if it's ready and all that should I grab your branch and open a PR or are you doing that?</p>



<a name="129997243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997243">(Jul 20 2018 at 13:37)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> do you actually know <em>which</em> of the -Z borrowck=migrate tasks you are likely to take on in the immediate future?</p>
</blockquote>
<p>no, whatever shows up first I guess</p>



<a name="129997244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997244">(Jul 20 2018 at 13:37)</a>:</h4>
<p>my thinking is that I'll keep my on-going work on the <code>z-borrowck-migrate</code> branch. The PR I put up is based on a newly named branch that is just a point on that branch.</p>



<a name="129997245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997245">(Jul 20 2018 at 13:37)</a>:</h4>
<p>are you going to do something?</p>



<a name="129997254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997254">(Jul 20 2018 at 13:37)</a>:</h4>
<p>in that case, we can split some parts</p>



<a name="129997268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997268">(Jul 20 2018 at 13:37)</a>:</h4>
<p>The reason I asked which thing you might work on first is that I see two interesting tasks left</p>



<a name="129997337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997337">(Jul 20 2018 at 13:38)</a>:</h4>
<p>1. Add a mode to AST-borrowck so that you can invoke it without it emitting any errors itself (and instead it just returns "saw an error" or "saw no errors")</p>



<a name="129997351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997351">(Jul 20 2018 at 13:38)</a>:</h4>
<p>2. Add the code to MIR-borrowck that calls out to AST-borrowck if MIR -borrowck saw any errors.</p>



<a name="129997362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997362">(Jul 20 2018 at 13:38)</a>:</h4>
<p>One <em>could</em> start on 2. without having yet done 1.</p>



<a name="129997383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997383">(Jul 20 2018 at 13:39)</a>:</h4>
<p>So yeah, I figured its <em>potentially</em> splittable.</p>



<a name="129997397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997397">(Jul 20 2018 at 13:39)</a>:</h4>
<p>cool</p>



<a name="129997398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997398">(Jul 20 2018 at 13:39)</a>:</h4>
<p>I'm going to be working for about another two hours or so</p>



<a name="129997444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997444">(Jul 20 2018 at 13:39)</a>:</h4>
<p>Given the description on <a href="https://github.com/rust-lang/rust/issues/46908" target="_blank" title="https://github.com/rust-lang/rust/issues/46908">#46908</a>, can you think of any other work items?</p>



<a name="129997450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997450">(Jul 20 2018 at 13:39)</a>:</h4>
<p>the other thing we can do ... is ... are you already working on 1 or what are you currently doing?</p>



<a name="129997530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997530">(Jul 20 2018 at 13:40)</a>:</h4>
<p>(there's also the bit about making sure the diagnostics and docs properly indicate the severity of the supposed "warnings" you'll get)</p>



<a name="129997532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997532">(Jul 20 2018 at 13:40)</a>:</h4>
<p>because I can just let you do what you're doing and then you can hand over where you left the stuff to me</p>



<a name="129997547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997547">(Jul 20 2018 at 13:40)</a>:</h4>
<p>I haven't actually started on 1. or 2. yet</p>



<a name="129997566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997566">(Jul 20 2018 at 13:41)</a>:</h4>
<p>maybe you can start with 1</p>



<a name="129997584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997584">(Jul 20 2018 at 13:41)</a>:</h4>
<p>and if I can do something before you leave I will start 2</p>



<a name="129997589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997589">(Jul 20 2018 at 13:41)</a>:</h4>
<p>Great, sounds good.</p>



<a name="129997605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997605">(Jul 20 2018 at 13:41)</a>:</h4>
<p>and before leaving ping me so I know where you left and I merge everything over and try to finish my stuff and yours if there's something missing</p>



<a name="129997674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997674">(Jul 20 2018 at 13:42)</a>:</h4>
<p>Okay. If I forget to ping you, the on-going work, if any, will be pushed to my <code>z-borrowck-migrate</code> branch. (That's why I made a fresh name for the PR)</p>



<a name="129997887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/129997887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#129997887">(Jul 20 2018 at 13:45)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="130005132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005132">(Jul 20 2018 at 15:35)</a>:</h4>
<p>So I <em>might</em> have managed to do both 1. and 2.</p>



<a name="130005212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005212">(Jul 20 2018 at 15:36)</a>:</h4>
<p>I'm not 100% sure yet because my first attempt to actually test <code>-Z borrowck=migrate</code>, I discovered I missed one spot where we validate the -Z input text and thus I couldn't actually test the flag.</p>



<a name="130005227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005227">(Jul 20 2018 at 15:36)</a>:</h4>
<p>so I'm rebuilding the compiler now with that fixed.</p>



<a name="130005236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005236">(Jul 20 2018 at 15:36)</a>:</h4>
<p>but it does seem like my current changes don't <em>break</em> the existing code at least.</p>



<a name="130005254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005254">(Jul 20 2018 at 15:37)</a>:</h4>
<p>cool</p>



<a name="130005260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005260">(Jul 20 2018 at 15:37)</a>:</h4>
<p>But I'm also going to have to leave in like four minutes so it may not build before I get a chance to actually do any real testing of <code>-Z borrowck=migrate</code> itself.</p>



<a name="130005271"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005271" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005271">(Jul 20 2018 at 15:37)</a>:</h4>
<p>let me know what I need to do then or if it's just done :)</p>



<a name="130005273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005273">(Jul 20 2018 at 15:37)</a>:</h4>
<p>I've pushed the work to my <code>z-borrowck-mode</code> branch</p>



<a name="130005275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005275">(Jul 20 2018 at 15:37)</a>:</h4>
<p>ok</p>



<a name="130005280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005280">(Jul 20 2018 at 15:37)</a>:</h4>
<p>it still needs unit tests to be written</p>



<a name="130005284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005284">(Jul 20 2018 at 15:37)</a>:</h4>
<p>what should I do?</p>



<a name="130005301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005301">(Jul 20 2018 at 15:37)</a>:</h4>
<p>I could also leave it up to you</p>



<a name="130005348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005348">(Jul 20 2018 at 15:38)</a>:</h4>
<p>one way to do a unit test would be to identify a piece of code that passes AST borrowck but is rejected by MIR-borrowck</p>



<a name="130005350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005350">(Jul 20 2018 at 15:38)</a>:</h4>
<p>for when you have a chance and look for other tasks</p>



<a name="130005369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005369">(Jul 20 2018 at 15:38)</a>:</h4>
<p>and then make sure that such code emits a warning under <code>-Z borrowck=migrate</code></p>



<a name="130005388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005388">(Jul 20 2018 at 15:38)</a>:</h4>
<p>the most obvious example of such a piece of code are the examples from <a href="https://github.com/rust-lang/rust/issues/27282" target="_blank" title="https://github.com/rust-lang/rust/issues/27282">#27282</a></p>



<a name="130005439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005439">(Jul 20 2018 at 15:39)</a>:</h4>
<p>And of course we also would want to make sure that every <em>other</em> piece of code behaves the way we expect, in terms of acceptance or rejection by compiler, under <code>-Z borrowck=migrate</code>.</p>



<a name="130005504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005504">(Jul 20 2018 at 15:40)</a>:</h4>
<p>I actually don't know the easiest way to accomplish that. Add a new <code>compare-more</code> to compiletest?</p>



<a name="130005510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005510">(Jul 20 2018 at 15:40)</a>:</h4>
<p>or repurpose the existing <code>compare-mode</code> ?</p>



<a name="130005517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005517">(Jul 20 2018 at 15:40)</a>:</h4>
<p>or just use the revision infrastructure?</p>



<a name="130005538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005538">(Jul 20 2018 at 15:41)</a>:</h4>
<p>Anyway, I have to leave now. I leave it up to you whether you want to try to follow up on this</p>



<a name="130005542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005542">(Jul 20 2018 at 15:41)</a>:</h4>
<p>I.e. if you feel like doing something totally different with your time, that's fine</p>



<a name="130005568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130005568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130005568">(Jul 20 2018 at 15:41)</a>:</h4>
<p>but if you're cool with checking out the branch  and trying to find flaws in it and maybe writing a couple tests, that would be helpful</p>



<a name="130006519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130006519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130006519">(Jul 20 2018 at 15:58)</a>:</h4>
<p>(there's also a bunch of minimized repros that passed AST borrowck and MIR borrowck rejected, in the crater run if you need some)</p>



<a name="130007002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130007002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130007002">(Jul 20 2018 at 16:07)</a>:</h4>
<p>@lqd could you actually put url linking to those in the issue??</p>



<a name="130007093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130007093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130007093">(Jul 20 2018 at 16:08)</a>:</h4>
<p>sure</p>



<a name="130007499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130007499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130007499">(Jul 20 2018 at 16:16)</a>:</h4>
<p>(though tbf some of those <em>are</em> MIR borrowck bugs, but I guess those can be useful as well)</p>



<a name="130007931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130007931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130007931">(Jul 20 2018 at 16:25)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/46908#issuecomment-406652255" target="_blank" title="https://github.com/rust-lang/rust/issues/46908#issuecomment-406652255">https://github.com/rust-lang/rust/issues/46908#issuecomment-406652255</a></p>



<a name="130023320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130023320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130023320">(Jul 20 2018 at 21:09)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> shouldn't we make this <a href="https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc/infer/error_reporting/mod.rs#L306" target="_blank" title="https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc/infer/error_reporting/mod.rs#L306">https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc/infer/error_reporting/mod.rs#L306</a> depend on the mode or something at some point?</p>



<a name="130027090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130027090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130027090">(Jul 20 2018 at 22:22)</a>:</h4>
<p>Feel free to change it; I’m not familiar with the logic in that part of the code, and like I said, I didn’t get a chance to test my -Z borrowck=migrate before I left</p>



<a name="130027103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130027103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130027103">(Jul 20 2018 at 22:22)</a>:</h4>
<p>(Have you built it yourself yet? Does it seem like it’s plausibly working?)</p>



<a name="130027186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130027186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130027186">(Jul 20 2018 at 22:24)</a>:</h4>
<p>I didn't do that much given that most of the work was more or less done</p>



<a name="130027194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130027194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130027194">(Jul 20 2018 at 22:25)</a>:</h4>
<p>have built the thing and left tests running</p>



<a name="130027200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130027200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130027200">(Jul 20 2018 at 22:25)</a>:</h4>
<p>will try to check a bit today or during the weekend</p>



<a name="130028012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130028012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130028012">(Jul 20 2018 at 22:43)</a>:</h4>
<p>also, shouldn't we skip this <a href="https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc_mir/transform/mod.rs#L229-L231" target="_blank" title="https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc_mir/transform/mod.rs#L229-L231">https://github.com/rust-lang/rust/blob/64aa4c5369611ba9867b6956fe9a57e0fc11ca49/src/librustc_mir/transform/mod.rs#L229-L231</a> if mir_borrowck didn't fail?</p>



<a name="130040512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130040512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130040512">(Jul 21 2018 at 05:38)</a>:</h4>
<p>It probably doesn’t matter, since the result of the query is cached, right?</p>



<a name="130051621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130051621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130051621">(Jul 21 2018 at 11:57)</a>:</h4>
<p>so <span class="user-mention" data-user-id="116083">@pnkfelix</span> / <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> are either of you around? I'm wondering about a possible way to simplify <a href="https://github.com/rust-lang/rust/issues/52566" target="_blank" title="https://github.com/rust-lang/rust/issues/52566">#52566</a></p>



<a name="130052708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052708">(Jul 21 2018 at 12:27)</a>:</h4>
<p>I'm here</p>



<a name="130052839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052839">(Jul 21 2018 at 12:30)</a>:</h4>
<p>I left a comment on the PR</p>



<a name="130052844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052844">(Jul 21 2018 at 12:30)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/52566#pullrequestreview-139256779" target="_blank" title="https://github.com/rust-lang/rust/pull/52566#pullrequestreview-139256779">https://github.com/rust-lang/rust/pull/52566#pullrequestreview-139256779</a></p>



<a name="130052852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052852">(Jul 21 2018 at 12:31)</a>:</h4>
<p>TL;DR I think we could simplify some of the lifetime hell you went through :)</p>



<a name="130052904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052904">(Jul 21 2018 at 12:32)</a>:</h4>
<p>:)</p>



<a name="130052905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052905">(Jul 21 2018 at 12:32)</a>:</h4>
<p>ok</p>



<a name="130052912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130052912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130052912">(Jul 21 2018 at 12:33)</a>:</h4>
<p>will see if I can invest some time to this during the weekend</p>



<a name="130140568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130140568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130140568">(Jul 23 2018 at 10:24)</a>:</h4>
<p>i'm looking at it now as well, since I didn't see any notes from <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> . The main interesting complication so far is that <code>DiagnosticBuilder</code>implements <code>Drop</code>, so you have to use <code>ptr::read</code> to pull out its <code>self.diagnostic</code> (and then <code>mem::forget(self)</code> afterward).</p>



<a name="130149458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149458">(Jul 23 2018 at 13:51)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> I would probably just clone the diagnostic</p>



<a name="130149465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149465">(Jul 23 2018 at 13:51)</a>:</h4>
<p>well that's no fun</p>



<a name="130149467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149467">(Jul 23 2018 at 13:51)</a>:</h4>
<p>and/or make it an <code>Option&lt;Diagnostic&gt;</code> (I think there is already some kind of flag, right? That's how the emit prevents it from erroring out?)</p>



<a name="130149473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149473">(Jul 23 2018 at 13:51)</a>:</h4>
<p>not sure how that works actually</p>



<a name="130149481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149481">(Jul 23 2018 at 13:51)</a>:</h4>
<p>there's a Level::Cancelled</p>



<a name="130149531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149531">(Jul 23 2018 at 13:52)</a>:</h4>
<p>but wait is that how that works</p>



<a name="130149535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149535">(Jul 23 2018 at 13:52)</a>:</h4>
<p>maybe emit uses <code>mem::forget</code> to cancel the dtor</p>



<a name="130149539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149539">(Jul 23 2018 at 13:52)</a>:</h4>
<p>no it just calls <code>self.cancel()</code>.</p>



<a name="130149543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149543">(Jul 23 2018 at 13:52)</a>:</h4>
<p>(and that then sets the level to <code>Level::Cancelled</code>)</p>



<a name="130149552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149552">(Jul 23 2018 at 13:53)</a>:</h4>
<p>ok. well, I still think <code>clone</code> is perfectly fine here :)</p>



<a name="130149553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149553">(Jul 23 2018 at 13:53)</a>:</h4>
<p>this is not a hot path</p>



<a name="130149559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130149559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130149559">(Jul 23 2018 at 13:53)</a>:</h4>
<p>true</p>



<a name="130163809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163809">(Jul 23 2018 at 18:00)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> sorry but I couldn't do anything during the weekend</p>



<a name="130163816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163816">(Jul 23 2018 at 18:00)</a>:</h4>
<p>I'm back and can start tackling something</p>



<a name="130163821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163821">(Jul 23 2018 at 18:00)</a>:</h4>
<p>unsure what's the current status of this</p>



<a name="130163828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163828">(Jul 23 2018 at 18:00)</a>:</h4>
<p>let me know and I can help or finish whatever is needed</p>



<a name="130163838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163838">(Jul 23 2018 at 18:01)</a>:</h4>
<p>no idea how much progress did Felix here</p>



<a name="130163937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130163937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130163937">(Jul 23 2018 at 18:03)</a>:</h4>
<p>well I r+'d some PR :)</p>



<a name="130164340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164340">(Jul 23 2018 at 18:10)</a>:</h4>
<p>ok</p>



<a name="130164348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164348">(Jul 23 2018 at 18:10)</a>:</h4>
<p>do you have an idea about what Felix has done?</p>



<a name="130164358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164358">(Jul 23 2018 at 18:10)</a>:</h4>
<p>he has a branch, I can check that</p>



<a name="130164364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164364">(Jul 23 2018 at 18:10)</a>:</h4>
<p>know there were some missing tests</p>



<a name="130164380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164380">(Jul 23 2018 at 18:10)</a>:</h4>
<p>and I guess I can make the changes you suggested on top of this r+'d PR :)</p>



<a name="130164383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164383">(Jul 23 2018 at 18:10)</a>:</h4>
<p>sounds good?</p>



<a name="130164389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164389">(Jul 23 2018 at 18:10)</a>:</h4>
<p>or do you want this to stay as is?</p>



<a name="130164644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164644">(Jul 23 2018 at 18:15)</a>:</h4>
<p>well pnkfelix had <a href="https://github.com/rust-lang/rust/pull/52566" target="_blank" title="https://github.com/rust-lang/rust/pull/52566">https://github.com/rust-lang/rust/pull/52566</a></p>



<a name="130164646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164646">(Jul 23 2018 at 18:15)</a>:</h4>
<p>which is the PR I r+'d</p>



<a name="130164656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164656">(Jul 23 2018 at 18:16)</a>:</h4>
<p>it adds buffering, I think that's all it does</p>



<a name="130164696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130164696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130164696">(Jul 23 2018 at 18:16)</a>:</h4>
<p>so I guess the next step would be to build from there, presumably to start adding the <code>=migrate</code> logic?</p>



<a name="130165013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165013">(Jul 23 2018 at 18:22)</a>:</h4>
<p>yes, that's the old thing we did</p>



<a name="130165034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165034">(Jul 23 2018 at 18:22)</a>:</h4>
<p>he also had the =migrate logic</p>



<a name="130165038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165038">(Jul 23 2018 at 18:22)</a>:</h4>
<p>that's why I kind of stopped</p>



<a name="130165039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165039">(Jul 23 2018 at 18:22)</a>:</h4>
<p>"old thing"?</p>



<a name="130165047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165047">(Jul 23 2018 at 18:22)</a>:</h4>
<p>ok, I'm not really clear on that</p>



<a name="130165050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165050">(Jul 23 2018 at 18:22)</a>:</h4>
<p>I mean, it's the mergeable thing</p>



<a name="130165055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165055">(Jul 23 2018 at 18:22)</a>:</h4>
<p>I see</p>



<a name="130165058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165058">(Jul 23 2018 at 18:22)</a>:</h4>
<p>the current thing</p>



<a name="130165062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165062">(Jul 23 2018 at 18:23)</a>:</h4>
<p>but I was wondering if he had something new</p>



<a name="130165068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165068">(Jul 23 2018 at 18:23)</a>:</h4>
<p>I see</p>



<a name="130165071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165071">(Jul 23 2018 at 18:23)</a>:</h4>
<p>I don't really know :(</p>



<a name="130165074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165074">(Jul 23 2018 at 18:23)</a>:</h4>
<p>or if he implemented your proposed changes</p>



<a name="130165076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165076">(Jul 23 2018 at 18:23)</a>:</h4>
<p>we could try to find another task</p>



<a name="130165079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165079">(Jul 23 2018 at 18:23)</a>:</h4>
<p>should be possible ;)</p>



<a name="130165085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165085">(Jul 23 2018 at 18:23)</a>:</h4>
<p>he did implement my proposed changes</p>



<a name="130165093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165093">(Jul 23 2018 at 18:23)</a>:</h4>
<p>ahh where?</p>



<a name="130165097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165097">(Jul 23 2018 at 18:23)</a>:</h4>
<p>in that PR?</p>



<a name="130165171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165171">(Jul 23 2018 at 18:24)</a>:</h4>
<p>ahh I see, he fixed some commits</p>



<a name="130165173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165173">(Jul 23 2018 at 18:24)</a>:</h4>
<p>it would worth for me checking that</p>



<a name="130165209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165209">(Jul 23 2018 at 18:25)</a>:</h4>
<p>ok, I'd say I'd leave the rest of this work to <span class="user-mention" data-user-id="116083">@pnkfelix</span>, most of the stuff is already done</p>



<a name="130165217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165217">(Jul 23 2018 at 18:25)</a>:</h4>
<p>I think we are spending a lot of time on checking with each other</p>



<a name="130165265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165265">(Jul 23 2018 at 18:26)</a>:</h4>
<p>the same happened to Felix when he needed to check my stuff :)</p>



<a name="130165290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165290">(Jul 23 2018 at 18:26)</a>:</h4>
<p>heh :)</p>



<a name="130165325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165325">(Jul 23 2018 at 18:27)</a>:</h4>
<p>I guess the question then is what maybe to look at next</p>



<a name="130165331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165331">(Jul 23 2018 at 18:27)</a>:</h4>
<p>not sure if you had anything else enqueued?</p>



<a name="130165631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130165631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130165631">(Jul 23 2018 at 18:32)</a>:</h4>
<p>let me chat with you in private to avoid adding uninteresting stuff here :)</p>



<a name="130193569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130193569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130193569">(Jul 24 2018 at 06:22)</a>:</h4>
<p>There’s a branch with follow on work</p>



<a name="130193571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130193571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130193571">(Jul 24 2018 at 06:22)</a>:</h4>
<p>z-borrowck-migrate</p>



<a name="130193578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130193578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130193578">(Jul 24 2018 at 06:23)</a>:</h4>
<p>I think it’s about done; but it needs tests. I’ll do that today</p>



<a name="130236307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236307">(Jul 24 2018 at 20:47)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> ah the situation I described earlier isn't nearly as dire as I had feared</p>



<a name="130236321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236321">(Jul 24 2018 at 20:47)</a>:</h4>
<p>that's good</p>



<a name="130236326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236326">(Jul 24 2018 at 20:47)</a>:</h4>
<p>I think i've about got that PR ready for your review</p>



<a name="130236327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236327">(Jul 24 2018 at 20:47)</a>:</h4>
<p>yes, elaborate-drops does call out to <code>move_data::gather_moves</code>, and yes, that does return an Err in this case</p>



<a name="130236330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236330">(Jul 24 2018 at 20:47)</a>:</h4>
<p>I'm doing some rebasing and cleanup</p>



<a name="130236338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236338">(Jul 24 2018 at 20:47)</a>:</h4>
<p>but the Err it returns <em>includes</em> the constructed MoveData</p>



<a name="130236339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236339">(Jul 24 2018 at 20:47)</a>:</h4>
<p>along with a Vec of MoveErrors</p>



<a name="130236343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236343">(Jul 24 2018 at 20:47)</a>:</h4>
<p>(which we, presumably, have already previously reported as warnings)</p>



<a name="130236392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236392">(Jul 24 2018 at 20:48)</a>:</h4>
<p>so it might be enough to just ... let elaborate-drops muddle along with the returned MoveData</p>



<a name="130236409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236409">(Jul 24 2018 at 20:48)</a>:</h4>
<p>it is still semi-risky, but not really much more than we are already being risky by allowing unsound code to compile at all in the name of backwards compat</p>



<a name="130236421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236421">(Jul 24 2018 at 20:48)</a>:</h4>
<p>hmm</p>



<a name="130236422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236422">(Jul 24 2018 at 20:48)</a>:</h4>
<p>well it can lead to ICEs</p>



<a name="130236424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236424">(Jul 24 2018 at 20:49)</a>:</h4>
<p>sure</p>



<a name="130236434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236434">(Jul 24 2018 at 20:49)</a>:</h4>
<p>or just not work very well</p>



<a name="130236446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236446">(Jul 24 2018 at 20:49)</a>:</h4>
<p>that is, the code might do different stuff, not what it did before</p>



<a name="130236449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236449">(Jul 24 2018 at 20:49)</a>:</h4>
<p>still, maybe worth a try</p>



<a name="130236452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236452">(Jul 24 2018 at 20:49)</a>:</h4>
<p>I don't really know what the effect will be</p>



<a name="130236456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236456">(Jul 24 2018 at 20:49)</a>:</h4>
<p>I also do think it's ok to make this a kind of "hard error"</p>



<a name="130236798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130236798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130236798">(Jul 24 2018 at 20:53)</a>:</h4>
<blockquote>
<p>that is, the code might do different stuff, not what it did before</p>
</blockquote>
<p>Ah, the old compiler-writer's "it's undefined behavior" <span class="emoji emoji-1f609" title="wink">:wink:</span></p>



<a name="130277988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130277988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130277988">(Jul 25 2018 at 14:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> ok I just reviewed <a href="https://github.com/rust-lang/rust/pull/52681/" target="_blank" title="https://github.com/rust-lang/rust/pull/52681/">https://github.com/rust-lang/rust/pull/52681/</a> -- seems great, one thing I was wondering though</p>



<a name="130277996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130277996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130277996">(Jul 25 2018 at 14:23)</a>:</h4>
<p>first off, if you use <code>#![feature(nll)]</code> in this, still get the current mode, right?</p>



<a name="130278005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278005">(Jul 25 2018 at 14:23)</a>:</h4>
<p>I was wondering if we wanted to try and make this a future-compat lint, or if that is too much of a pain in the neck</p>



<a name="130278006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278006">(Jul 25 2018 at 14:23)</a>:</h4>
<p>"current mode" as in, -Z borrowck overrides the feature?</p>



<a name="130278018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278018">(Jul 25 2018 at 14:23)</a>:</h4>
<p>no I mean what does <code>#![feature(nll)]</code> do -- hard errors, or migration mode?</p>



<a name="130278021"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278021" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278021">(Jul 25 2018 at 14:23)</a>:</h4>
<p>did I miss a change there?</p>



<a name="130278023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278023">(Jul 25 2018 at 14:23)</a>:</h4>
<p>right that's a good question</p>



<a name="130278066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278066">(Jul 25 2018 at 14:24)</a>:</h4>
<p>I do imagine some people will want to go with "hard error"</p>



<a name="130278067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278067">(Jul 25 2018 at 14:24)</a>:</h4>
<p>I think I tried this out but forgot to make a test encoding the behavior</p>



<a name="130278071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278071">(Jul 25 2018 at 14:24)</a>:</h4>
<p>I was just thinking about the test best way to give them that :)</p>



<a name="130278076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278076">(Jul 25 2018 at 14:24)</a>:</h4>
<p>I actually wanted to ask you</p>



<a name="130278083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278083">(Jul 25 2018 at 14:24)</a>:</h4>
<p>is our short term plan</p>



<a name="130278098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278098">(Jul 25 2018 at 14:24)</a>:</h4>
<p>to turn <code>-Z borrowck=migrate</code> on by default at the same time for both 2015 edition and 2018 edition</p>



<a name="130278103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278103">(Jul 25 2018 at 14:25)</a>:</h4>
<p>or is our short term plan to have the 2018 edition, as part of EP2, enable <code>-Z borrowck=migrate</code></p>



<a name="130278111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278111">(Jul 25 2018 at 14:25)</a>:</h4>
<p>(and thus people who want to sample living in the future will have to opt into it)</p>



<a name="130278123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278123">(Jul 25 2018 at 14:25)</a>:</h4>
<p>I've been assuming our plan is the latter.</p>



<a name="130278178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278178">(Jul 25 2018 at 14:26)</a>:</h4>
<p>In addition, I've been personally planning that <code>#![feature(nll)]</code> <em>should</em> override the migration injected via 2018-edition opt-in</p>



<a name="130278186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278186">(Jul 25 2018 at 14:26)</a>:</h4>
<p>Which probably means that it should <em>also</em> override <code>-Z borrowck=migrate</code>.</p>



<a name="130278190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278190">(Jul 25 2018 at 14:26)</a>:</h4>
<p>(just to keep ourselves sane...)</p>



<a name="130278201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278201">(Jul 25 2018 at 14:26)</a>:</h4>
<p>Does that all make sense to you? Again, I did not put in a test encoding that behavior</p>



<a name="130278204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278204">(Jul 25 2018 at 14:26)</a>:</h4>
<p>but I want to do so</p>



<a name="130278205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278205">(Jul 25 2018 at 14:26)</a>:</h4>
<p>so it's kind of like: we take the "max" of various signals</p>



<a name="130278211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278211">(Jul 25 2018 at 14:26)</a>:</h4>
<p><code>#![feature(nll)]</code>signals "hard error"</p>



<a name="130278222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278222">(Jul 25 2018 at 14:27)</a>:</h4>
<p><code>-Zborrowck=mir</code> the same</p>



<a name="130278226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278226">(Jul 25 2018 at 14:27)</a>:</h4>
<p><code>--edition 2018</code> signals "migration"</p>



<a name="130278230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278230">(Jul 25 2018 at 14:27)</a>:</h4>
<p><code>-Zborrowck=migrate</code> the same</p>



<a name="130278232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278232">(Jul 25 2018 at 14:27)</a>:</h4>
<p>?</p>



<a name="130278237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278237">(Jul 25 2018 at 14:27)</a>:</h4>
<p>Yes</p>



<a name="130278240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278240">(Jul 25 2018 at 14:27)</a>:</h4>
<p>er, default is "ast" still</p>



<a name="130278246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278246">(Jul 25 2018 at 14:27)</a>:</h4>
<p>Yes</p>



<a name="130278247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278247">(Jul 25 2018 at 14:27)</a>:</h4>
<p>I did not plan to enable it for everyone yet ,yeah, just the 2018 folks</p>



<a name="130278251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278251">(Jul 25 2018 at 14:27)</a>:</h4>
<p>that plan sounds fine to me</p>



<a name="130278255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278255">(Jul 25 2018 at 14:27)</a>:</h4>
<p>Okay great</p>



<a name="130278312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278312">(Jul 25 2018 at 14:28)</a>:</h4>
<p>I guess this is all still nightly territory so anyone using it can as well use <code>#![feature(nll)]</code> if they want to force hard errors</p>



<a name="130278314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278314">(Jul 25 2018 at 14:28)</a>:</h4>
<p>so that seems good</p>



<a name="130278319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278319">(Jul 25 2018 at 14:28)</a>:</h4>
<p>I wouldn't be surprised if the current PR does not currently encode that desired semantics of the relationship between <code>#![feature(nll)]</code> and <code>-Z borrowck=migrate</code>.</p>



<a name="130278323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278323">(Jul 25 2018 at 14:28)</a>:</h4>
<p>But I <em>want</em> that to happen</p>



<a name="130278337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278337">(Jul 25 2018 at 14:28)</a>:</h4>
<p>So I will right now 1. write the test, and then 2. ensure that it passes, hacking the code if necessary.</p>



<a name="130278383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278383">(Jul 25 2018 at 14:29)</a>:</h4>
<p>ok</p>



<a name="130278386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278386">(Jul 25 2018 at 14:29)</a>:</h4>
<p>I don't have a strong opinion about that particular thing</p>



<a name="130278388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278388">(Jul 25 2018 at 14:29)</a>:</h4>
<p>but I agree that the "max" interpretation is consistent</p>



<a name="130278581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278581">(Jul 25 2018 at 14:32)</a>:</h4>
<p>oh I remember what I did test</p>



<a name="130278594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278594">(Jul 25 2018 at 14:33)</a>:</h4>
<p>I wanted to see what <code>-Z borrowck=mir -Z borrowck=migrate</code> would do</p>



<a name="130278604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278604">(Jul 25 2018 at 14:33)</a>:</h4>
<p>because that is what ends up happening for this test with <code>compare-mode=nll</code>.</p>



<a name="130278610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278610">(Jul 25 2018 at 14:33)</a>:</h4>
<p>:)</p>



<a name="130278614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278614">(Jul 25 2018 at 14:33)</a>:</h4>
<p>(and the answer appears to be that the last flag wins. )</p>



<a name="130278616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278616">(Jul 25 2018 at 14:33)</a>:</h4>
<p>seems...yeah whatever :)</p>



<a name="130278620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278620">(Jul 25 2018 at 14:33)</a>:</h4>
<p>though I did wonder in passing</p>



<a name="130278629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278629">(Jul 25 2018 at 14:34)</a>:</h4>
<p>yeah, that I don't care about</p>



<a name="130278941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278941">(Jul 25 2018 at 14:38)</a>:</h4>
<p>Okay yeah I'm going to need to make another commit to the PR to get the "max" interpretation. Will have that up soon.</p>



<a name="130278964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278964">(Jul 25 2018 at 14:39)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> can you also link to the edition?</p>



<a name="130278966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278966">(Jul 25 2018 at 14:39)</a>:</h4>
<p>I think we might as well at this point, don't you?</p>



<a name="130278974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278974">(Jul 25 2018 at 14:39)</a>:</h4>
<p>Well can we try to land this first?</p>



<a name="130278976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278976">(Jul 25 2018 at 14:39)</a>:</h4>
<p>sure, we can do that later</p>



<a name="130278981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130278981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130278981">(Jul 25 2018 at 14:39)</a>:</h4>
<p>I was just trying to save a bors cycle :)</p>



<a name="130279038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279038">(Jul 25 2018 at 14:40)</a>:</h4>
<p>Its going to take me a little bit of effort to figure out the right way to hook in the edition</p>



<a name="130279062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279062">(Jul 25 2018 at 14:40)</a>:</h4>
<p>if I can do it faster than bors then fine. But I dont think i will given the other things I want to address today.</p>



<a name="130279108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279108">(Jul 25 2018 at 14:41)</a>:</h4>
<p>(travis is not exactly cooperating rn anyway :)</p>



<a name="130279159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279159">(Jul 25 2018 at 14:42)</a>:</h4>
<p>ok</p>



<a name="130279170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279170">(Jul 25 2018 at 14:42)</a>:</h4>
<blockquote>
<p>(travis is not exactly cooperating rn anyway :)</p>
</blockquote>
<p>oh, is that why I've noticed an absence of green checkmarks?</p>



<a name="130279224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279224">(Jul 25 2018 at 14:43)</a>:</h4>
<p>very likely, there seems to be hook problems or something, in addition to the shutting down of builders and/or mac CI, it's a party</p>



<a name="130279289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279289">(Jul 25 2018 at 14:44)</a>:</h4>
<p>Yes we're working on it</p>



<a name="130279292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279292">(Jul 25 2018 at 14:44)</a>:</h4>
<p>Travis is currently ignoring rust-lang/rust for some reason</p>



<a name="130279580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279580">(Jul 25 2018 at 14:49)</a>:</h4>
<p>is it because of mac beta issue?</p>



<a name="130279693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279693">(Jul 25 2018 at 14:51)</a>:</h4>
<p>well possibly, we don't really knwo</p>



<a name="130279835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130279835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130279835">(Jul 25 2018 at 14:53)</a>:</h4>
<p>ah there is <a href="https://github.com/rust-lang/rust/issues/52701" target="_blank" title="https://github.com/rust-lang/rust/issues/52701">https://github.com/rust-lang/rust/issues/52701</a></p>



<a name="130280226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280226">(Jul 25 2018 at 14:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> what is the "perf command" again...? is it documented somewhere?</p>



<a name="130280227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280227">(Jul 25 2018 at 14:59)</a>:</h4>
<p>I usually search zulip...</p>



<a name="130280236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280236">(Jul 25 2018 at 14:59)</a>:</h4>
<p><code>@rust-timer build &lt;full commit hash&gt;</code></p>



<a name="130280280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280280">(Jul 25 2018 at 15:00)</a>:</h4>
<p>Not documented</p>



<a name="130280290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280290">(Jul 25 2018 at 15:00)</a>:</h4>
<p>although given travis maybe <code>@bors try</code> will not work</p>



<a name="130280405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280405">(Jul 25 2018 at 15:02)</a>:</h4>
<p>Nope no builds for now</p>



<a name="130280676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130280676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130280676">(Jul 25 2018 at 15:07)</a>:</h4>
<p>:'(</p>



<a name="130335168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130335168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130335168">(Jul 26 2018 at 10:42)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> wrote:</p>
<blockquote>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> can you also link to the edition?<br>
 I think we might as well at this point, don't you?</p>
</blockquote>
<p>But: I'm now wondering if that step should wait until we've fixed the issues that block us bootstrapping <code>rustc</code>, at least?</p>



<a name="130337916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130337916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130337916">(Jul 26 2018 at 11:43)</a>:</h4>
<p>why?</p>



<a name="130337918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130337918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130337918">(Jul 26 2018 at 11:44)</a>:</h4>
<p>well I can see why</p>



<a name="130337957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130337957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130337957">(Jul 26 2018 at 11:44)</a>:</h4>
<p>but that's a bit tricky</p>



<a name="130337963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130337963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130337963">(Jul 26 2018 at 11:44)</a>:</h4>
<p>e.g., bootstrapping requires that things be in beta, etc</p>



<a name="130337968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130337968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130337968">(Jul 26 2018 at 11:44)</a>:</h4>
<p>I definitely think NLL should be in EP2</p>



<a name="130338321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130338321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130338321">(Jul 26 2018 at 11:52)</a>:</h4>
<p>I guess I just anticipate someone, as a test, trying to make sure we can still bootstrap rustc under <code>--edition 2018</code>.</p>



<a name="130338324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130338324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130338324">(Jul 26 2018 at 11:52)</a>:</h4>
<p>so I figure why cause them pain?</p>



<a name="130338343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck%3Dmigrate/near/130338343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-46908-borrowck.3Dmigrate.html#130338343">(Jul 26 2018 at 11:53)</a>:</h4>
<p>Anyway the PR that fixes bootstrapping <code>rustc</code> should be landing soon enough anyway, so sure, I'll probably put the edition linking into the same PR</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>